random与numpy.random

在python中,有两个模块可以产生随机数:

  1. python自带random包: 提供一些基本的随机数产生函数,可满足基本需要
  2. numpy.random:提供一些产生随机数的高级函数,满足高级需求

本文先分别介绍这两个包的常用函数,文末将总结一下两个包的区别。

Python随机数小结——random和np.random的区别与联系

random

random.seed(a=None,version=2)

seed( ) 用于指定随机数生成时所用算法开始的整数值,如果使用相同的seed( )值,
则每次生成的随即数都相同,如果不设置这个值,则系统根据时间来自己选择这个值,
此时每次生成的随机数因时间差异而不同。

产生一条世界线,随机种子

random()

设置一个随机种子,是一直有效的。
1.比如下面第一段代码,产生5个相同的数;
2. 第二段代码,因为种子设在循环外面,所以生成的第一个数和第一段代码的一样,因为都受random.seed(5)控制;
3.第三段代码,没有设置随机种子,每次运行都会产生不同的值

from random
num=0
while(num<5):
    random.seed(5)
    print(random.random())
    num+=1
###########################################
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
0.22199317108973948
from numpy import *
num=0
random.seed(5)
while(num<5):
    print(random.random())
    num+=1
#######################################33
0.22199317108973948
0.8707323061773764
0.20671915533942642
0.9186109079379216
0.48841118879482914
from numpy import *
num=0
while(num<5):
    print(random.random())
    num+=1
################################33333333333
0.27408646199222464
0.4142350190810513
0.29607993273364797
0.6287879088794833
0.579837810189545

random.shuffle()

种子对洗牌依然有用

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值