我在Python 3.6中使用新的random.choices
感到困惑。
这里是the doc:
random.choices(population, weights=None, *, cum_weights=None, k=1)
-返回从人口中选择的元素的 k 大小列表,并进行替换。如果人口为空,则引发
IndexError
。
他们举了一个例子:weights=[10, 5, 30, 5]
,我不知道这意味着什么。他们为什么不加到100?如果我的人口为[1, 2, 3, 4]
,是否意味着选择“ 10”的可能性为0.1?
答案 0 :(得分:2)
总重量为10 + 5 + 30 + 5 = 50。
假设人口为[1,2,3,4]。
返回1的概率为10/50 = 0.2
它以5/50 = 0.1的概率返回2
返回3的概率为30/50 = 0.6
它以5/50 = 0.1的概率返回4