Python 按照概率分布生成随机数

导入库

import random

实用可直接调用函数

传入数组为概率分布列表例如[10, 90],返回值为下标索引,返回值返回0的概率为10%,返回1的概率为90%

def random_index(rate):
    # """随机变量的概率函数"""
    # 参数rate为list<int>
    # 返回概率事件的下标索引
    start = 0
    index = 0
    randnum = random.randint(1, sum(rate))
    for index, scope in enumerate(rate):
        start += scope
        if randnum <= start:
            break
    return index

其他可以实用的随机函数以及讲解

random.randint(1,10)        # 产生 110 的一个整数型随机数  
random.random() )             # 产生 01 之间的随机浮点数
random.uniform(1.1,5.4)     # 产生  1.15.4 之间的随机浮点数,区间可以不是整数
random.choice('tomorrow')    # 从序列中随机选取一个元素
random.randrange(1,100,2)   # 生成从1100的间隔为2的随机整数
  • 8
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值