choice(seq): 从seq序列中(可以是列表,元组,字符串)随机取一个元素返回
choices
(population, weights=None, *, cum_weights=None, k=1):从population中进行K次有放回随机选取,每次选取一个元素(注意会出现同一个元素多次被选中的情况),weights是相对权重值,population中有几个元素就要有相对应的weights值,cum_weights是累加权重值,例如,相对权重〔10, 5, 30,5〕相当于累积权重〔10, 15, 45,50〕。在内部,在进行选择之前,相对权重被转换为累积权重,因此提供累积权重节省了工作。返回一个列表。
sample(population, k):从population中无放回取样,一次取k个,返回一个k长的列表。
可以像这样使用sample(range(10000000), k=60)
此外,需要注意的是,设置随机种子,目的是使两次程序的不同运行能够生成一样的随机数,不是同一个程序中多次运行随机函数生成一样的随机数:保证可复现性
random.seed(10)
random.choices(list(range(4)), k=10)
Out: [2, 1, 2, 0, 3, 3, 2, 0, 2, 1]
random.choices(list(range(4)), k=10)
Out: [0, 3, 3, 0, 3, 2, 1, 1, 2, 1]