SmC*_*lar 1 python hash dictionary python-3.3 python-3.4
有没有办法可靠地修复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
将其设置为固定的整数,然后您的散列种子是确定性的.