从列表中随机取 n 项
Take n items at random from a list
我有一个列表 L,想 return 从中随机生成一个包含 n 项的列表。
现在我依靠 itertools.combinations 然后随机选择一个,但我必须等待一段时间,直到列表看起来像在开始时没有被很多项目卡住的东西列表,所以它不是真的 "random."
使用 random.sample 从人口 n 的列表中抽取 K 个项目。
>>> import random
>>> random.sample(range(100), 5)
[56, 1, 0, 60, 61]
from random import randint
L=[1,2,3,4,5,6]
a=len(L)
n=5
K=[ L[randint(0,a-1)%a] for x in xrange(0,n)]
print K
示例输出
[6, 4, 3, 2, 5]
我有一个列表 L,想 return 从中随机生成一个包含 n 项的列表。
现在我依靠 itertools.combinations 然后随机选择一个,但我必须等待一段时间,直到列表看起来像在开始时没有被很多项目卡住的东西列表,所以它不是真的 "random."
使用 random.sample 从人口 n 的列表中抽取 K 个项目。
>>> import random
>>> random.sample(range(100), 5)
[56, 1, 0, 60, 61]
from random import randint
L=[1,2,3,4,5,6]
a=len(L)
n=5
K=[ L[randint(0,a-1)%a] for x in xrange(0,n)]
print K
示例输出
[6, 4, 3, 2, 5]