从列表中随机抽取n项

2024-03-29 09:16:05 发布

您现在位置:Python中文网/ 问答频道 /正文

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

现在我依靠的是itertools.组合然后随机挑选一个,但我必须等一段时间,直到清单看起来像是没有在清单的开始附近卡住很多项目,所以它不是真正的“随机”


Tags: 项目列表itertools
2条回答

使用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]

相关问题 更多 >