在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
选择整个列表的选项?
答案 0 :(得分:5)
没有这样的选项(参见help(random.sample)
),但你可以随时控制你传递的内容:
random.sample(l, min(len(l),4))
答案 1 :(得分:1)
类似的东西:
random.sample(l) if len(l)<4 else random.sample(l, 4)