如何快速生成一个无序序列
本帖最后由 yexing 于 2020-4-8 11:28 编辑如题。
我的方法:
>>> from random import randint, shuffle
>>> print(list1 := )#表白海象运算符(赋值表达式运算符)
>>> shuffle(list2 := )
>>> list2
>>>
欢迎各路大神留下你的方法{:10_298:} 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()
技术有限,只能如此。 >>> __import__('random').choices(range(10), k=10)
>>> __import__('random').choices(range(10), k=10)
>>> __import__('random').choices(range(10), k=10)
>>> from random import randint
>>> list1 = wuqramy 发表于 2020-4-13 21:53
这个代码套这么多 randint 倒是挺复杂的(笑),zhuang bi 好方法(划掉)
不过还是用 randint 函数实现的,如果有其他方法就更好啦{:10_298:} yexing 发表于 2020-4-13 21:57
这个代码套这么多 randint 倒是挺复杂的(笑),zhuang bi 好方法(划掉)
不过还是用 randint 函数实现 ...
倒是,括号把我搞得喘不过气来 wuqramy 发表于 2020-4-13 21:59
倒是,括号把我搞得喘不过气来
气息很长的说。
不易懂。 本帖最后由 陈尚涵 于 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@_@,这和集合有点像^_^ 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]