You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何在使用random.choices时固定随机种子以获得一致输出?

固定随机种子实现重复输出

嘿,这事儿超简单!Python里的random模块用的是伪随机数生成器——意思是只要给它一个固定的起始“种子”,它生成的随机序列就会完全一致。

你只需要在调用random.choices()之前,加上一行random.seed()并传入一个固定数值就行。下面是修改后的完整代码:

import random

# 设置固定随机种子,数值可以是任意整数,这里用42做例子
random.seed(42)

l = [11.1, 22.2, 33.3, 11.1, 33.3, 33.3, 22.2, 55.5]
l_new = random.choices(l, k=30)
print(l_new)

不管你运行多少次这段代码,输出都会和你想要的预期结果完全一致:

[22.2, 11.1, 33.3, 55.5, 33.3, 22.2, 33.3, 11.1, 22.2, 11.1, 11.1, 33.3, 33.3, 22.2, 33.3, 22.2, 11.1, 11.1, 55.5, 55.5, 33.3, 11.1, 55.5, 22.2, 33.3, 33.3, 55.5, 22.2, 22.2, 33.3]

原理很直白:种子就像随机数生成器的“起始密码”,同一个密码会让它按完全相同的顺序生成随机数,自然每次选出来的元素序列也就一模一样了。你可以把种子换成其他整数(比如100、2024),只要每次运行都用同一个数值,结果就不会变~

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

火山引擎 最新活动