[Python标准库]random——伪随机数生成器

Python的random模块提供了各种伪随机数生成函数,基于Mersenne Twister算法。random()函数生成0到1之间的浮点数,uniform()用于指定范围内的随机数。通过seed()设置初始值以控制序列,getstate()和setstate()用于保存和恢复随机数生成器的状态。此外,模块还提供了randint(), randrange()等函数生成整数,choice()用于从序列中随机选择元素,shuffle()用于列表的洗牌操作,sample()用于无重复地取样。还有SystemRandom类利用系统随机源生成更安全的随机数。" 136120490,9145415,区块链与数据分析:未来趋势和挑战,"['区块链', '数据分析', '数据挖掘', '人工智能', 'python']
摘要由CSDN通过智能技术生成
[Python标准库]random——伪随机数生成器
        作用:实现了多种类型的伪随机数生成器。
        Python 版本:1.4 及以后版本
        random 模块基于 Mersenne Twister 算法提供了一个快速伪随机数生成器。原先开发这个生成器是为了向蒙特卡洛模拟生成输入,Mersenne Twister算法会生成有一个大周期的近均匀分布的数,以适用于各种类型的应用。
生成随机数
        random() 函数从所生成的序列返回下一个随机的浮点数值。返回的所有值都落在 0 <= n < 1.0 区间内。
import random

for i in xrange(5):
    print '%04.3f' % random.random(),
print
        重复运行这个程序会生成不同的数字序列。
        要生成一个指定数值区间内的数,则要使用 uniform()。
import random

for i in xrange(5):
    print '%04.3f' % random.uniform(1, 100),
print
        传入最小值和最大值,uniform() 会使用公式 min + (max - min) * random() 来调整 random() 的返回值。
指定种子
        每次调用 random() 会生成不同的值,在一个非常大的周期之后数字才会重复。这对于生成唯一值或变化的值很有用,不过有些情况下可能需要提供相同的数据集,从而以不同的方式处理。对此,一种技术是使用一个程序来生成随机值,并保存这些随机值,以便通过一个单独的步骤另行处理。不过,这对于量很大的数据来说可能并不实用,所以 random 包含了一个 seed() 函数,用来初始化伪随机数生成器,使它能生成一个期望的值集。
import random

random.seed(1)

for i in xrange(5):
    print '%04.3f' % random.random(),
print
         种子(seed)值会控制生成伪随机数所用公式产生的第一个值,由于公式是确定性的,改变种子后也就设置了要生成的整个序列。seed() 的参数可以是任意可散列对象。默认为使用一个平台特定的随机源(如果有的话)。否则,如果没有这样一个随机源,则会使用当前时间。
保存状态
        random() 使用的伪随机算法的内部状态可以保存,并用于控制后续各轮生成的随机数。继续生成随机数之前恢复一个状态,这会减少由之前输入得到重复的值或值序列的可能性。getstate() 函数会返回一些数据,以后可以用 setstate()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值