Python使用random和tertools模块解一些经典概率问题

1102次阅读  |  发布于5年以前

random 模块中的常用函数

复制代码 代码如下:

random()
返回一个位于区间 [0,1] 内的实数;
uniform(a, b)
返回一个位于区间 [a,b] 内的实数;
randint(a, b)
返回一个位于区间 [a,b] 内的整数;
choice(sequence)
返回一个位于 sequence 中的元素,其中,sequence 为一个有序序列,如 list、string 或者 tuple 等类型;
randrange([start], stop[, step])
等效于 choice(range([start], stop[, step]));
shuffle(sequence [, random])
无返回值,用于打乱 sequence 中元素的排列顺序;
sample(sequence, n)
返回一个由 n 个 sequence 中的元素组成的分片,其中,sequence 也可以是 set 类型。

利用 itertools 得到排列、组合

复制代码 代码如下:

permutations(sequence, k))
从序列 sequence 中得到包含 k 个元素的所有排列。

combinations(sequence, k))
从序列 sequence 中得到包含 k 个元素的所有组合。

Copyright© 2013-2020

All Rights Reserved 京ICP备2023019179号-8