choices = [a,a,a,a,b,b,c]
random.choice(choices)
Run Code Online (Sandbox Code Playgroud)
正如你所看到的那样,最有可能被选中,但有更好/更短的方式吗?
如果您使用choices,则不能choice,您可以为每个元素指定权重.
random.choices([a,b,c], [4,2,1])
Run Code Online (Sandbox Code Playgroud)
第二个参数是第一个参数中每个元素的相对权重.例如,在下文中,您可以看到a选择的频率大约是频率的两倍,大约是频率的b四倍c.
>>> import collections, random
>>> collections.Counter(random.choices('abc', [4,2,1], k=100))
Counter({'a': 58, 'b': 25, 'c': 17})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |