python中的random库

lemon Lv4

1. 核心功能

  • 生成伪随机数:包括整数、浮点数、序列等。
  • 随机操作:设置种子、随机选择、打乱序列顺序等。

2. 常用类与方法

  • 基本随机函数

    • random.random():生成 [0.0, 1.0) 之间的随机浮点数。
    • random.seed(a):设置随机数种子(a 为整数或浮点数,默认以系统时间为种子)。
  • 扩展随机函数

    • random.randint(a, b):生成 [a, b] 之间的随机整数。
    • random.uniform(a, b):生成 [a, b] 之间的随机浮点数。
    • random.randrange(start, stop[, step]):生成指定范围内以指定步长递增的随机整数。
    • random.choice(seq):从序列 seq(如列表、元组、字符串)中随机选择一个元素。
    • random.shuffle(x):打乱序列 x 的顺序(直接修改原序列)。
    • random.sample(population, k):从总体 population 中随机选择 k 个不重复的元素。

3. 使用示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
import random

# 生成随机浮点数和整数
print("随机浮点数:", random.random()) # 输出: 0.5488135039273248
print("随机整数:", random.randint(1, 10)) # 输出: 7

# 从列表中随机选择元素和打乱列表顺序
my_list = [1, 2, 3, 4, 5]
print("随机选择元素:", random.choice(my_list)) # 输出: 3
random.shuffle(my_list)
print("打乱后的列表:", my_list) # 输出: [2, 5, 1, 4, 3]

# 生成指定范围内的随机浮点数和整数
print("指定范围的随机浮点数:", random.uniform(1.0, 5.0)) # 输出: 3.141592653589793
print("指定范围和步长的随机整数:", random.randrange(0, 10, 2)) # 输出: 4

# 设置种子以确保生成相同的随机数序列
random.seed(42)
print("固定种子下的随机浮点数:", random.random()) # 输出: 0.6394267984578837

4. 注意事项

  • 伪随机数random 库生成的是伪随机数,由算法生成,具有确定性。在需要真正随机数的场合(如密码学),可能需要使用更专业的随机数生成器。
  • 种子设置:设置相同的种子会生成相同的随机数序列。这在调试和重现实验结果时很有用,但在需要每次运行都生成不同随机数的场合需避免。

总结

  • 生成随机数:用 random.random() 生成浮点数,random.randint() 生成整数。
  • 随机选择:用 random.choice() 从序列中选择元素。
  • 打乱序列:用 random.shuffle() 打乱列表顺序。
  • 设置种子:用 random.seed() 设置种子以确保生成相同的随机数序列。
  • 标题: python中的random库
  • 作者: lemon
  • 创建于 : 2025-04-12 21:56:12
  • 更新于 : 2025-04-12 21:58:21
  • 链接: https://lemon2003.github.io/post/20250412215612.html
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论