如果随机样本大小太大,请选择完整列表

2024-04-26 18:35:25 发布

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

在Python中,我们可以从列表中随机抽样,如下所示:

>>> import random
>>> l = [1,2,3]
>>> random.sample(l,2)
[2, 3]

但是,如果样本大小大于列表,则返回错误:

>>> random.sample(l,4)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/Cellar/python3/3.5.1/Frameworks/Python.framework/Versions/3.5/lib/python3.5/random.py", line 315, in sample
    raise ValueError("Sample larger than population")
ValueError: Sample larger than population

如果样本大小大于列表,是否有允许random.sample选择整个列表的选项?你知道吗


Tags: sampleinimport列表错误linerandomfile
2条回答

比如:

random.sample(l) if len(l)<4 else random.sample(l, 4)

没有这样的选项(请参见help(random.sample)),但您始终可以控制传递的内容:

random.sample(l, min(len(l),4))

相关问题 更多 >