为了更好的阅读,请看我的笔记
文档:random模块.note
链接:http://note.youdao.com/noteshare?id=953cfdc2881497c8b1a837942bd87917&sub=46BA824545E84684B41EC4A06106D2ED
random.seed(a=None, version=2)
初始化随机数生成器。
random.getstate()
返回捕获生成器当前内部状态的对象。 这个对象可以传递给 setstate() 来恢复状态。
random.setstate(state)
state 应该是从之前调用 getstate() 获得的,并且 setstate() 将生成器的内部状态恢复到 getstate() 被调用时的状态。
random.randrange(start, stop[, step])
从 range(start, stop, step) 返回一个随机选择的元素。 这相当于 choice(range(start, stop, step)) ,但实际上并没有构建一个 range 对象。
位置参数模式匹配 range() 。不应使用关键字参数,因为该函数可能以意外的方式使用它们。
random.randint(a, b)
返回随机整数 N 满足 a <= N <= b。相当于 randrange(a, b+1)。
random.choice(seq)
从非空序列 seq 返回一个随机元素。 如果 seq 为空,则引发 IndexError。
random.choices(population, weights=None, *, cum_weights=None, k=1)
从*population*中选择替换,返回大小为 k 的元素列表。 如果 population 为空,则引发 IndexError。
如果指定了 weight 序列,则根据相对权重进行选择。 或者,如果给出 cum_weights 序列,则根据累积权重(可能使用 itertools.accumulate() 计算)进行选择。 例如,相对权重``[10, 5, 30, 5]``相当于累积权重``[10, 15, 45, 50]``。 在内部,相对权重在进行选择之前会转换为累积权重,因此提供累积权重可以节省工作量。
如果既未指定 weight 也未指定 cum_weights ,则以相等的概率进行选择。 如果提供了权重序列,则它必须与 population 序列的长度相同。
random.shuffle(x[, random])
将序列 x 随机打乱位置。
random.sample(population, k)
返回从总体序列或集合中选择的唯一元素的 k 长度列表。 用于无重复的随机抽样。
返回包含来自总体的元素的新列表,同时保持原始总体不变。
random.random()
返回 [0.0, 1.0) 范围内的下一个随机浮点数。
random.uniform(a, b)
返回一个随机浮点数 N ,当 a <= b 时 a <= N <= b ,当 b < a 时 b <= N <= a 。
取决于等式 a + (b-a) * random() 中的浮点舍入,终点 b 可以包括或不包括在该范围内。
random.triangular(low, high, mode)
返回一个随机浮点数 N ,使得 low <= N <= high 并在这些边界之间使用指定的 mode 。 low 和 high 边界默认为零和一。 mode 参数默认为边界之间的中点,给出对称分布。
random.betavariate(alpha, beta)
Beta 分布。 参数的条件是 alpha > 0 和 beta > 0。 返回值的范围介于 0 和 1 之间。
random.expovariate(lambd)
指数分布。 lambd 是 1.0 除以所需的平均值,它应该是非零的。 (该参数本应命名为 “lambda” ,但这是 Python 中的保留字。)如果 lambd 为正,则返回值的范围为 0 到正无穷大;如果 lambd 为负,则返回值从负无穷大到 0。
random.gammavariate(alpha, beta)
Gamma 分布。 ( 不是 gamma 函数! ) 参数的条件是 alpha > 0 和 beta > 0。
概率分布函数是:
x ** (alpha - 1) * math.exp(-x / beta)
pdf(x) = ---------------------------------------------------------
math.gamma(alpha) * beta ** alpha
random.gauss(mu, sigma)
高斯分布。 mu 是平均值,sigma 是标准差。 这比下面定义的 normalvariate() 函数略快。
random.lognormvariate(mu, sigma)
对数正态分布。 如果你采用这个分布的自然对数,你将得到一个正态分布,平均值为 mu 和标准差为 sigma。 mu 可以是任何值,sigma 必须大于零。
random.normalvariate(mu, sigma)
正态分布。 mu 是平均值,sigma 是标准差。
random.vonmisesvariate(mu, kappa)
冯·米塞斯(von Mises)分布。 mu 是平均角度,以弧度表示,介于0和 2*pi 之间,kappa 是浓度参数,必须大于或等于零。 如果 kappa 等于零,则该分布在 0 到 2*pi 的范围内减小到均匀的随机角度。
random.paretovariate(alpha)
帕累托分布。 alpha 是形状参数。
random.weibullvariate(alpha, beta)
威布尔分布。 alpha 是比例参数,beta 是形状参数。