You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Python字典中生成的随机数值保持固定不变

解决固定随机年龄的问题

1. 用随机种子固定年龄生成结果

要让每次运行生成的随机年龄完全一致,只需要给random模块设置一个固定的随机种子。种子相同,生成的随机数序列就会完全重复。

修改你的代码,在导入random后添加一行种子设置:

footballers = []

# 初始化11名球员,先统一设为门将
for _ in range(11):
    footballers.append({"position": 'goalkeeper'})

# 批量修改位置,比多个循环更简洁
footballers[1:5] = [{"position": "defender"} for _ in footballers[1:5]]
footballers[5:8] = [{"position": "midfield"} for _ in footballers[5:8]]
footballers[8:11] = [{"position": "forward"} for _ in footballers[8:11]]

import random
# 设置固定种子,数字可任意选,只要每次运行都用同一个
random.seed(42)

for baller in footballers:
    baller["age"] = random.randint(17, 34)
    print(baller)

无论运行多少次,这段代码生成的年龄都会和第一次运行完全一样。

2. 长期固定数据(适合联赛级大量数据)

如果需要把生成好的球员数据永久固定下来,不用每次运行都生成,可以用json模块把数据保存到文件,后续直接读取使用:

保存数据到文件

import json

# 生成完footballers列表后执行保存
with open("footballers_data.json", "w", encoding="utf-8") as f:
    json.dump(footballers, f, indent=2)

后续直接加载数据

import json

with open("footballers_data.json", "r", encoding="utf-8") as f:
    footballers = json.load(f)

print(footballers)  # 直接使用之前生成好的固定数据

这种方法适合处理大量数据,不用每次重新生成,也避免了手动输入的麻烦。

内容的提问来源于stack exchange,提问作者Krabtreb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 21:05:21