Python 根据特定分布生成随机数

Python 根据特定分布生成随机数,python,random,Python,Random,我如何根据20%,80%的分布生成0到1之间的随机数,即 for i in range(0, 10): print random.randint(0, 1) >>> 1 1 0 1 0 1 1 1 1 1 20%0s 80%1s 一种处理方法: >>>import random >>>random.choice(2*[0]+8*[1]) 要详细说明,这将从包含2个0和8个1的列表中随机选择。一种处理方法: >>&g

我如何根据20%,80%的分布生成0到1之间的随机数,即

for i in range(0, 10):
    print random.randint(0, 1)

>>> 1 1 0 1 0 1 1 1 1 1
  • 20%0s
  • 80%1s
    • 一种处理方法:

      >>>import random
      >>>random.choice(2*[0]+8*[1])
      
      要详细说明,这将从包含2个0和8个1的列表中随机选择。

      一种处理方法:

      >>>import random
      >>>random.choice(2*[0]+8*[1])
      

      为了详细说明,这将从包含2个0和8个1的列表中随机选择。

      利用布尔值也是整数的事实
      True
      为1,
      False
      为0;以下情况在80%的时间内产生
      1
      0否则:

      int(random.random() < 0.8)
      
      int(random.random()<0.8)
      
      演示:

      >>随机导入
      >>>从收款进口柜台
      >>>计数器(int(random.random()<0.8)用于范围内(1000))
      计数器({1:798,0:202})
      
      利用布尔值也是整数的事实
      True
      为1,
      False
      为0;以下情况在80%的时间内产生
      1
      0否则:

      int(random.random() < 0.8)
      
      int(random.random()<0.8)
      
      演示:

      >>随机导入
      >>>从收款进口柜台
      >>>计数器(int(random.random()<0.8)用于范围内(1000))
      计数器({1:798,0:202})
      
      @MartijnPieters,oops@MartijnPieters,Oops这是非常低效的。这是非常低效的。你不认为这是一个重复的问题@MartijnPieters?@simonzack:我认为用这种方法解决具体问题比用在重复中的更多数字的方法更好。你不认为这是一个重复的问题@MartijnPieters?@simonzack:我认为具体的问题用这种方法解决这个问题比在副本中使用更多数字的方法更好。