random.choices

时间:2019-03-31 12:39:03

标签: python python-3.x random

我在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?

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