如何生成0到1之间的随机数,根据分布20%,80%即
for i in range(0, 10):
print random.randint(0, 1)
>>> 1 1 0 1 0 1 1 1 1 1
答案 0 :(得分:3)
利用布尔也是整数的事实; True
为1,False
为0;以下内容产生1
80%的时间,否则0
:
int(random.random() < 0.8)
演示:
>>> import random
>>> from collections import Counter
>>> Counter(int(random.random() < 0.8) for _ in range(1000))
Counter({1: 798, 0: 202})
答案 1 :(得分:2)
处理它的一种方法:
>>>import random
>>>random.choice(2*[0]+8*[1])
详细说明,这将从包含2个零和8个的列表中随机选择。