>>>import random
随机返回非空序列中的一个元素。
>>> lst = [1, 2, 3]
>>> random.choice(lst)
2
返回[start, stop)之间的一个随机数,step指定可选随机数的步长。
>>> [random.randrange(5) for _ in range(10)] # [0, 5)之间的随机数
[4, 1, 0, 1, 0, 4, 2, 4, 3, 4]
>>> [random.randrange(1, 5) for _ in range(10)] # [1, 5)之间的随机数
[1, 4, 3, 2, 2, 4, 3, 2, 4, 2]
>>>>>> [random.randrange(0, 10, 3) for _ in range(10)] # 指定步长之后产生的随机数只能在[0, 3, 6, 9,]中取得
[0, 9, 9, 0, 6, 6, 3, 6, 6, 3]
注:输入参数,返回值都是整型
random.randrange(0, 10, 3)
# 等价于
random.choice(range(0, 10, 3)) # range()生成了[0, 3, 6, 9]
返回[a, b]之间的一个整数。
>>> [random.randint(0, 5) for _ in range(10)] # 两个边界都可以取
[5, 0, 3, 5, 3, 0, 1, 1, 1, 3]
随机打乱一个序列。
>>> lst = [1, 2, 3]
>>> random.shuffle(lst) # random.shuffle()直接作用于lst,无返回值
>>> lst
[1, 3, 2]
从序列中随机挑选k个数,作为一个list返回。
>>> lst = [i for i in range(10)]
>>> random.sample(lst, 3)
[9, 5, 4]
返回一个[0.0, 1.0)之间的浮点数。
>>> random.random()
0.26480637373637905
>>> import numpy as np
>>> np.random.random((2, 2)) # 指定形状
array([[0.20018354, 0.20222348],
[0.89138798, 0.87710066]])
返回[a, b]之间的一个浮点数
>>> random.uniform(1, 2)
1.5487841132956464
设置一个随机数种子。
>>> random.seed(123) # 在随机函数之前设置,以获得相同的随机值
>>> random.randint(1, 5)
1
>>> random.seed(123)
>>> random.randint(1, 5)
1