为了账号安全,请及时绑定邮箱和手机立即绑定

python random中的选择和选择的结果不同?

python random中的选择和选择的结果不同?

Qyouu 2023-10-11 15:57:53
我怀疑以下代码会返回类似的结果:import randomrandom.seed(765)x = random.choices(range(34), k=100)random.seed(765)y = [random.choice(range(34)) for _ in range(100)]但当我们比较时>>> x[:5][1, 8, 9, 31, 29]>>> y[:5][2, 30, 15, 26, 17]显然x不等于y.我怀疑我遗漏了一些明显的东西,但假设种子设置的序列将返回相同的 100 个值,无论选择与 k = 100 的选择如何。
查看完整描述

1 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

请参阅文档:

对于给定的种子, choices() 具有相同权重的函数通常会生成与重复调用不同的序列 choice()。使用的算法 choices() 使用浮点运算来实现内部一致性和速度。默认情况下使用的算法 choice() 采用重复选择的整数运算,以避免舍入误差造成的小偏差。


查看完整回答
反对 回复 2023-10-11
  • 1 回答
  • 0 关注
  • 48 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信