我是靠谱客的博主 风中背包,最近开发中收集的这篇文章主要介绍Python Random模块,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

初始化随机数发生器。
如果a被忽略或者为None,则使用系统当前时间。

产生整数的函数

random.randrange(stop)

random.randrange(start, stop, [, step])
返回一个随机元素的range(start, stop, step)
int(random()*n)

>>> random.randrange(10)
# Integer from 0 to 9
7
>>> random.randrange(0, 101, 2)
# Even integer from 0 to 100
26

randint(a, b)

返回一个a<=N<=b的整数N,相当于randrange(a, b+1)

产生序列的函数

random.choice(seq)

从一个非空序列seq中随机返回一个元素,如果为空,raise 一个IndexError

random.shuffle(x,[, random])

重新排列序列x的位置(洗牌)。可选参数random默认为random(),返回一个0到1的浮点数

即使比较小的序列x,也比一般随机数产生器要长,意味着一个长序列的大部分不会被产生。(感觉表达的意思是x太常会产生没有重排的意思)

random.sample(population, k)

返回一个从population seq or set 选取的长度为k的唯一元素的列表,用于放回抽样。
population的成员不需要是可哈西或者唯一的,如果包含重复元素,那么每一次事件是在样品中的一个可能的选择。
该函数相比于range,为了时间和空间效率更高的从population抽样。

产生指定的实值分布,

random.random()

返回一个0到1之间的浮点数

random.uniform(a, b)

返回一个a,b之间的浮点数,b的值不确定是否被包含在内
类比于:a + (b-a) * random()

random.triangular(low, high, mode)

返回一个low和high之间的数并且指定了在这些界限之间的模式。low和high默认为0和1,mode参数默认为low和high之间的对称分布
random.triangular(-3, 8, 0)

random.betavariate(alpha, beta)

Beta分布,参数都大于0,返回介于0和1之间的数值

random.expovariate(lambd)

指数分布,参数不为0

random.gammavariate(alpha,beta)

Gamma分布,参数大于0

random.gauss(mu, sigma)

高斯分布,比 normalvariate()快很多

lognormvariate(mu, sigma)

对数分布。如果你以自然对数采取这种分布,你会得到一个平均数mu和标准差西格玛正态分布。mu可以有任何值,和西格玛必须大于零

random.normalvariate(mu, sigma)

正态分布。

除了random模块,numpy模块中也有random函数
numpy中的random

最后

以上就是风中背包为你收集整理的Python Random模块的全部内容,希望文章能够帮你解决Python Random模块所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部