Python标准库—random模块

random

random模块实现了各种分布的伪随机数生成器。该模块提供的函数实际上是 random.Random类的隐藏实例的绑定方法,你可以实例化自己的 Random 类实例以获取不共享状态的生成器。

簿记功能

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

    初始化随机数生成器。

  • random.getstate()

    返回捕获生成器当前内部状态的对象, 这个对象可以传递给 setstate() 来恢复状态。

  • random.setstate(state)

    state 应该是从之前调用 getstate()获得的,并且 setstate()将生成器的内部状态恢复到 getstate() 被调用时的状态。

  • random.getrandbits(k)

    返回带有 k 位随机的Python整数。

生成整数

  • random.randrange(stop) & rangdom.randrange(start,stop[,step])

    range(start, stop, step) 返回一个随机选择的元素, 这相当于 choice(range(start, stop, step)),但实际上并没有构建一个 range 对象。

    >>> random.randrange(10)#区间[0,9]
    3
    >>> random.randrange(1,10,2)#(1,3,5,7,9)
    5
    
  • random.randint(a,b)

    返回随机整数 N 满足 a <= N <= b。相当于 randrange(a, b+1)

    >>> random.randint(1,6)#1<=N<=6
    2
    >>> random.randint(1,6)
    3
    

序列函数

  • random.choice(seq)

    从序列seq中随机取一个元素。

    >>> names = ["Tom", "Jane", "Bob", "Xiaoming"]
    >>> random.choice(names)
    'Jane'
    
  • random.choices()

  • random.shuffle(x[,random])

    将序列x顺序打乱;如果要改变一个不可变的序列并返回一个新的打乱列表,请使用sample(x, k=len(x))

    >>> random.shuffle(names)
    >>> names
    ['Jane', 'Xiaoming', 'Tom', 'Bob']
    
  • random.sample(population, k)

    从总样本中返回一个长度为k的元素样本——用于无重复的随机抽样。

    >>> import random
    >>> random.sample(range(10),5)
    [2, 8, 1, 3, 0]
    

实数分布

  • random.random()

    返回 [0.0, 1.0) 范围内的下一个随机浮点数。

  • random.uniform(a,b)

    返回一个随机浮点数 N ,当 a <= ba <= N <= b ,当 b < ab <= N <= a

  • random.betavariate(alpha, beta)

    Beta分布:参数的条件是 alpha > 0beta > 0, 返回值的范围介于 0 和 1 之间。

  • random.expovariate(lambd)

    指数分布

  • random.gammavariate(alpha, beta)

    Gamma分布:参数的条件是 alpha > 0beta > 0

  • random.gauss(mu, sigma)

    高斯分布:mu是平均值,sigma是标准差。

  • random.normalvariate(mu, sigma)

    正态分布:mu是平均值,sigma是标准差。

  • random.paretovariate(alpha)

    帕累托分布:alpha是形状参数。

  • random.weibullvariate(alpha,beta)

    威布尔分布:alpha是比例参数,beta是形状参数。

>>> import random
>>> 
>>> random.random()#0<=N<1
0.41855757752030276
>>> random.uniform(3,4)#3<=N<4
3.1447319861455387

随机数生成器

  • random.Random([seed])

    random模块默认使用的伪随机数生成器。

  • random.SystemRanom([seed])

    使用 os.urandom()函数的类,用从操作系统提供的源生成随机数,但这并非适用于所有系统。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值