gpt4 book ai didi

python - 字典键的顺序可以被认为是随机排列吗?

转载 作者:太空宇宙 更新时间:2023-11-04 10:13:04 25 4
gpt4 key购买 nike

我有 40.000 个 ID,它们是字典中的键。我需要用 random.shuffle 来洗牌例如。但是我可以跳过这一步吗?

Dictionary 不会按照它们来的顺序存储键,所以如果我执行 keys = dict.keys(),则 keys 包含非键-升序。我的程序只会运行一次,所以我不关心“排列的结果”在执行过程中是否相同。

那么,我可以“作弊”并跳过洗牌步骤吗?


我知道键的顺序有点可预测。我要问的是:

random.shuffle() 生成的排列与键的顺序(大致)相同的可能性(粗略地说)有多大?

最佳答案

不,你不能。

如果您需要随机性,则不能在将数据输入字典之前或之后跳过改组。

原因是虽然不能保证字典中键的顺序,但是根据条目的顺序,它们将采用的顺序具有很强的可预测性。

字典中的条目是根据键的 hash 值完成的,键是一些非常大的数,对另一个大数取模,创建一个有界的值范围。当两个键散列为相同的值时,就会发生冲突;然后将 key 放置在下一个可用位置(无论哪种方式确定)

[编辑]:
以与哈希桶大致(非常)相同的顺序随机获取 key 的机会是……不确定的。

关于python - 字典键的顺序可以被认为是随机排列吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37062936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com