random 是 Python 中用于生成随机数的标准库,提供了多种常用功能。以下是 random 库中一些常用的函数:
1.生成随机浮点数
- random(): 生成一个 [0.0, 1.0) 之间的随机浮点数。
import random
print(random.random()) # 输出:0.0 <= x < 1.0 的随机浮点数
- uniform(a, b): 生成一个 [a, b] 之间的随机浮点数。
print(random.uniform(1.5, 2.5)) # 输出:1.5 <= x <= 2.5 的随机浮点数
2.生成随机整数
- randint(a, b): 生成一个 [a, b] 之间的随机整数。
print(random.randint(1, 10)) # 输出:1 <= x <= 10 的随机整数
- randrange(start, stop[, step]): 从 range(start, stop, step) 中随机选择一个数。
print(random.randrange(0, 100, 5)) # 输出:0, 5, 10, ..., 95 中的随机数
3.从序列中随机选择
- choice(seq): 从非空序列 seq 中随机选择一个元素。
print(random.choice(['apple', 'banana', 'cherry'])) # 输出:随机选择一个水果
- choices(population, weights=None, k=1): 从 population 中随机选择 k 个元素(可重复),weights 可指定权重。
print(random.choices(['red', 'green', 'blue'], k=2)) # 输出:随机选择两个颜色
- sample(population, k): 从 population 中随机选择 k 个不重复的元素。
print(random.sample(range(100), 5)) # 输出:从 0 到 99 中随机选择 5 个不重复的数
4.打乱序列
- shuffle(seq): 将序列 seq 中的元素随机打乱(原地修改)。
cards = ['A', '2', '3', '4', '5']
random.shuffle(cards) print(cards) # 输出:打乱后的序列
5.随机种子
- seed(a=None): 初始化随机数生成器的种子。相同的种子会生成相同的随机序列。
random.seed(42) # 设置随机种子 print(random.random()) # 输出:固定的随机数
6.其他分布
- gauss(mu, sigma): 生成符合高斯分布(正态分布)的随机数,mu 为均值,sigma 为标准差。
print(random.gauss(0, 1)) # 输出:均值为 0,标准差为 1 的随机数
- expovariate(lambd): 生成符合指数分布的随机数,lambd 为参数。
print(random.expovariate(1.5)) # 输出:符合指数分布的随机数
总结
random 库提供了丰富的随机数生成功能,适用于各种场景,如模拟、游戏、抽样等。通过合理使用这些函数,可以轻松实现随机化需求。