yexing 发表于 2020-4-7 23:13:41

如何快速生成一个无序序列

本帖最后由 yexing 于 2020-4-8 11:28 编辑

如题。

我的方法:
>>> from random import randint, shuffle
>>> print(list1 := )#表白海象运算符(赋值表达式运算符)

>>> shuffle(list2 := )
>>> list2

>>>

欢迎各路大神留下你的方法{:10_298:}

hhjdsd 发表于 2020-4-8 08:38:05

def random_list():
        list1 = []
        while len(list1)-11 != 0:
                num = random.randint(0,10)
                if num not in list1:
                        list1.append(num)
        print(list1)

       
>>> random_list()

>>> random_list()

技术有限,只能如此。

zltzlt 发表于 2020-4-8 08:58:15

>>> __import__('random').choices(range(10), k=10)

>>> __import__('random').choices(range(10), k=10)

>>> __import__('random').choices(range(10), k=10)

wuqramy 发表于 2020-4-13 21:53:32

>>> from random import randint
>>> list1 =

yexing 发表于 2020-4-13 21:57:30

wuqramy 发表于 2020-4-13 21:53


这个代码套这么多 randint 倒是挺复杂的(笑),zhuang bi 好方法(划掉)
不过还是用 randint 函数实现的,如果有其他方法就更好啦{:10_298:}

wuqramy 发表于 2020-4-13 21:59:16

yexing 发表于 2020-4-13 21:57
这个代码套这么多 randint 倒是挺复杂的(笑),zhuang bi 好方法(划掉)
不过还是用 randint 函数实现 ...

倒是,括号把我搞得喘不过气来

fly3412 发表于 2020-4-13 23:58:25

wuqramy 发表于 2020-4-13 21:59
倒是,括号把我搞得喘不过气来

气息很长的说。
不易懂。

陈尚涵 发表于 2020-4-14 09:48:36

本帖最后由 陈尚涵 于 2020-4-14 09:53 编辑

用randrange试试{:5_109:}
import random # 导入模块
test_list = [] # 创建初始化
for i in range(10):
    number = random.randrange(1, 11)
    if number not in test_list:
      test_list_append(number)

这个代码虽然防止了重复,也用了randrange,但是可能列表的长度不是10@_@,这和集合有点像^_^

tommyyu 发表于 2020-4-16 14:21:00

import random
a = []
for i in range(10):
    sum = 0;
    for j in range(10):
      sum += random.randint(1,10)
      sum -= random.randint(1,10)
    if sum < 0:
      sum = -sum
   a.append(sum/10)
print(a)
平均数,打乱的更乱一些^_^
页: [1]
查看完整版本: 如何快速生成一个无序序列