今天梳理一下random模块比较常用的用法。
random模块主要用于生成随机数。
一、常用方法
import random
print(random.random()) # 产生 0 到 1 之间的随机浮点数
print(random.randint(1, 10)) # 产生 1 到 10 的一个整数型随机数
print(random.uniform(1.1, 5.4)) # 产生 1.1 到 5.4 之间的随机浮点数,区间可以不是整数
print(random.choice('tomorrow')) # 从序列中随机选取一个元素,字符串类型
print(random.choice(['aa', 'bb', 'cc'])) # 从序列中随机选取一个元素,数组类型
print(random.randrange(1, 100, 2)) # 生成从1到100的间隔为2的随机整数
二、seed() 方法
random.seed(x) 随机数种子,当使用random.seed(x)设定好种子之后,其中x可以是任意数字,比如10,那么每次调用生成的随机数将会是同一个。
print(random.randint(1, 10)) # 随机数
print(random.randint(1, 10)) # 随机数,与上一个没有相关性
random.seed(1)
print(random.randint(1, 10)) # 种子是1,随机数,比如是3
random.seed(1)
print(random.randint(1, 10)) # 返回上一次种子是1的随机数,也是3
random.seed(2)
print(random.randint(1, 10)) # 种子是2的随机数,随机生成,比如是1
random.seed(2)
print(random.randint(1, 10)) # 种子是2的随机数,继续是1
三、sample()
指定长度的取样,不改变原有序列。
lists = [1, 2, 3, 1, 1, 1, 2, 2, 3]
print(random.sample(lists, 2)) # 随机获取指定长度的序列,比如可能返回[1,2],
四、shuffle(a)
将序列 x 随机打乱位置。
a = [1, 3, 5, 6, 7] # 将序列a中的元素顺序打乱
random.shuffle(a)
print(a)