如何在Python中单次打乱列表且每次运行结果一致
在Python中复现固定的列表打乱结果
要让random.shuffle()每次运行都输出相同的打乱结果,核心是固定随机数种子——因为shuffle的打乱逻辑完全依赖随机数生成器的状态,固定种子就能让生成器每次都输出一模一样的随机序列,自然打乱结果也一致。
两种实现方式:
- 全局种子设置:直接给random模块设置固定种子,适合简单场景
import random # 固定种子值,数字可自定义,只要每次都用同一个就行 random.seed(42) my_list = [1, 2, 3, 4, 5, 6] random.shuffle(my_list) print(my_list) # 每次运行都会得到 [2, 4, 6, 1, 5, 3]
- 独立随机生成器:创建专属的Random实例,避免影响代码中其他随机操作
import random # 用固定种子初始化独立的随机生成器 rng = random.Random(42) my_list = [1, 2, 3, 4, 5, 6] rng.shuffle(my_list) print(my_list) # 输出和上面完全一致的结果
注意:种子值可以是任意整数(甚至字符串),只要每次运行代码时都使用相同的种子,就能100%复现第一次的打乱结果。
内容的提问来源于stack exchange,提问作者Ezequiel Jaramillo
相关产品推荐
相关产品推荐

