我想创建一个包含100个元素的随机列表。到目前为止,这么好......
示例1:工作正常,因为该函数的范围足够大,不会重复任何值
list = random.sample(range(1,200),100)
示例2:不起作用,因为范围太小(样本大于人口)
list = random.sample(range(50,80),100)
我正在寻找一种方法来创建具有比范围更多的值的随机列表,并且元素存在多次都没有问题。
答案 0 :(得分:2)
在这种情况下,请不要使用random.sample
,而是根据范围内选择的元素构建列表:
import random
[random.randrange(50, 80) for _ in range(100)]
[57,
52,
59,
67,
52, # some elements repeat
64,
75,
...
答案 1 :(得分:1)
答案 2 :(得分:0)
fmt
答案 3 :(得分:0)
使用list comprehension
+ randint
,
[random.randint(1,200) for _ in range(100)]
看到元素重复计数不是100
,
In [6]: len(set([random.randint(1,200) for _ in range(100)]))
Out[6]: 76