Python中的随机性.sample()方法有什么作用?
问题描述
我想知道random.sample()
方法的用法,它有什么作用?应该在什么时候使用以及一些示例用法。
解决方案
根据documentation:
随机样本(总体,k)
返回k长度的唯一元素列表 从种群序列中选择。用于随机抽样,不需要 替换。
基本上,它从一个序列中挑选k个唯一的随机元素,一个样本:
>>> import random
>>> c = list(range(0, 15))
>>> c
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14]
>>> random.sample(c, 5)
[9, 2, 3, 14, 11]
random.sample
也可以直接从某个范围运行:
>>> c = range(0, 15)
>>> c
range(0, 15)
>>> random.sample(c, 5)
[12, 3, 6, 14, 10]
除序列外,random.sample
还可以使用集合:
>>> c = {1, 2, 4}
>>> random.sample(c, 2)
[4, 1]
但是,random.sample
不能使用任意迭代器:
>>> c = [1, 3]
>>> random.sample(iter(c), 5)
TypeError: Population must be a sequence or set. For dicts, use list(d).
相关文章