从列表中随机取n个项目

时间:2015-04-20 17:37:39

标签: python itertools

我有一个列表L,想要从中随机返回n个项目的列表。

现在我依靠itertools.combinations然后随机选择一个,但我必须等待一段时间,直到列表看起来像是在列表的开头附近没有很多项目的东西,所以它不是真正的“随机”。

2 个答案:

答案 0 :(得分:4)

使用random.sample从人口列表n中抽取K个项目。

>>> import random
>>> random.sample(range(100), 5)
[56, 1, 0, 60, 61]

答案 1 :(得分:0)

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]