Python学习:random模块

简介

random模块提供各种随机数生成方法。Python使用Mersenne Twister作为核心的随机数生成器。

Bookkeeping函数

random.seed(a=None, version=2)
#初始化随机数生成器
#如果参数a没有设置,或者为None,则使用当前系统时间作为随机数生成器的参数
#参数a可以为整数int,也可以为str、bytes、bytearray等

random.getstate()
#获取当前随机数生成器里面状态的对象

random.setstate(state)
#参数state应该是random.getstate()方法获取的状态对象
#方法恢复随机数生成器状态对象
#恢复随机数生成器状态对象后,随机数生成器可生成相同的随机数

random.getrandbits(k)
#方法返回具有最大k位的随机整数,如k=4,则随机数最大为15(b1111)
#该方法使用 Mersenne Twister 生成器

整数方法

random.randrange(stop)
random.randrange(start, stop[, step])
#方法从整数值范围 range(start, stop, step) 获取一个随机数

random.randint(a, b)
#方法返回一个随机整数N,该整数满足 a <= N <= b

序列方法

random.choice(seq)
#方法从非空序列seq中返回一个随机元素
#如果序列seq为空,引起IndexError异常

random.choices(population, weights=None, *, cum_weights=None, k=1)
#方法从序列population中随机挑选k个元素组成列表并返回
#序列weights与cum_weights为权重序列,序列长度与population需相同
#population中元素被随机选中的概率与权重序列相关
#weights为相对权重,cum_weights为累积权重
#比如相对权重[10, 5, 30, 5]与累积权重[10, 15, 45, 50]相同
#底层实现时,相对权重会转换为累积权重,因此调用方法时设置累积权重,效率更高

random.shuffle(x[, random])
#方法将序列x随机打乱元素的位置
#可选参数random是一个无参数的函数,返回[0.0, 1.0)范围内的随机浮点数
#默认参数random是函数random()
#注意对于长度较大的序列,该方法可能非常低效

random.sample(population, k)
#返回从总体序列或集合中选择的唯一元素的 k 长度列表。 用于无重复的随机抽样。
#该方法返回一个新创建的列表,而不改变原始的列表
#如果k值大于population长度,则引起ValueError异常

实值分布

random.random()
#返回[0.0, 1.0)范围内的随机浮点数

random.uniform(a, b)
#返回一个随机的浮点数N,如果a <= b,则a <= N <= b
#如果b <= a,则b <= N <= a
#方法使用random.random(),公式为 min + (max - min) * random.random()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值