有没有办法可靠地修复 Python 3 中字典处理的顺序,即以可预测的顺序对键和值建立迭代?
出于调试目的并重现据推测是基于 python 3.3 和 3.4 中的字典访问的故障,我需要以某种方式使字典迭代可预测。我的意思是我想修复在 Python 程序开始时执行任何迭代的方式。这样多次启动程序,调用 dict.items()、dict.keys()、dict.values() 总是产生相同的元素顺序。更重要的是,通过设置哈希函数的某种种子值来更改此顺序会很好。我该怎么做?
这仅用于调试,我不想也不能使用类似sorted(dict.keys()) 或OrderedDict .谢谢!
请您参考如下方法:
你应该看看 PYTHONHASHSEED 环境变量:
https://docs.python.org/3/using/cmdline.html#envvar-PYTHONHASHSEED
将其设置为固定整数,然后您的哈希种子是确定性的。
