random模块中的方法介绍
2019-08-12 本文已影响16人
暖A暖
random是Python中的一个内置模块,用于生成随机数。
seed()方法
seed()方法用于初始化随机数生成器。
语法: random.seed(a=None, version=2)
-
a
:可选参数,如果是整数则直接使用,否则必须转为整数。如果没有值则使用当前系统时间。 -
version
:默认值为2,指定如何将参数转换为整数。
示例:
import random
random.seed()
print(random.random())
random.seed(7)
print(random.random())
getstate()方法
返回捕获生成器当前内部状态的对象。这个对象可以传递给setstate()来恢复状态。
语法: random.getstate()
示例:
import random
print(random.getstate())
setstate()方法
setstate()方法恢复随机数生成器的内部状态。状态是在getstate()方法获得的。
语法: random.setstate(state)
-
state
:状态对象。
示例
import random
print(random.random())
state = random.getstate()
print(random.random())
random.setstate(state)
print(random.random())
getrandbits()方法
getrandbits()方法返回指定大小的整数。
语法: random.getrandbits(n)
-
n
:指定返回整数的大小的数字。
示例:
import random
print(random.getrandbits(3)) # 5,随机
randrange()方法
randrange()方法返回指定范围内随机选择的元素。
语法: random.randrange(start, stop, step)
-
start
:指定起始位置的整数。 -
stop
:指定结束位置的整数。 -
step
:指定递增的整数。
示例:
import random
print(random.randrange(1, 5, 2))
print(random.randrange(2, 8, 3))
randint()方法
randint()方法返回随机整数 N 满足 a <= N <= b
。相当于 randrange(a, b+1)
。
语法: random.randint(a, b)
-
a
:指定起始位置的整数。 -
b
:指定结束位置的整数。
示例:
import random
print(random.randint(2, 7))
choice()方法
choice()方法从非空序列返回一个随机元素。如果 seq 为空,则引发 IndexError。
语法: random.choice(seq)
示例:
import random
lst = [1, 2, 3]
print(random.choice(lst))
choices()方法
choices()方法返回一个列表,其中包含指定序列中随机选择的元素。
语法: random.choices(sequence, weights=None, cum_weights=None, k=1)
-
sequence
:序列。 -
weights
:根据相对权重进行选择。 -
cum_weights
:根据累积权重进行选择。
示例:
import random
lst = ["x", "k", "d"]
print(random.choices(lst, weights=[3, 1, 1], k=7)) # 返回大小为7的元素序列
shuffle()方法
shuffle()方法将序列 x 随机打乱位置。
语法: random.shuffle(x[, random])
示例:
import random
lst = ["x", "k", "d"]
random.shuffle(lst)
print(lst)
sample()方法
sample()方法返回从总体序列或集合中选择的唯一元素的 k 长度列表。 用于无重复的随机抽样。
语法: random.sample(sequence, k)
-
sequence
:序列。 -
k
:返回列表的大小。
示例:
import random
lst = ["x", "k", "d", "a", "b", "c"]
print(random.sample(lst, k=3)) # 返回大小为3的元素序列
random()方法
random()方法返回[0.0, 1.0)范围内的下一个随机浮点数。
语法: random.random()
示例:
import random
print(random.random())
# 0.0 <= x < 1.0
uniform()方法
uniform()方法返回一个随机浮点数 N。当 a <= b
时, a <= N <= b
。当 b < a
时, b <= N <= a
。
语法: random.uniform(a, b)
示例:
import random
print(random.uniform(7.0, 13.0))
# 7.0 <= x <= 13.0
triangular()方法
random()方法返回一个随机浮点数 N,使得 low <= N <= high
并在这些边界之间使用指定的 mode 。low 和 high 边界默认为0和1。 mode参数默认为边界之间的中点,给出对称分布。
语法: random.triangular(low, high, mode)
-
low
:指定最低可能结果的数字。 -
high
:指定最高可能结果的数字。 -
mode
:用于在任何方向上衡量结果的数字,默认低值和高值之间的中点。
示例:
import random
print(random.triangular(10, 20, 15))