小编典典

Python中的字典是否具有单个repr值?

python

在此问题中,建议在字典上调用repr是将其存储在另一个字典中的好方法。无论密钥如何排序,这都将取决于repr是否相同。是这样吗

PS。解决原始问题的最佳方法是使用Frozenset


阅读 224

收藏
2021-01-20

共1个答案

小编典典

不,键添加到字典的顺序可能会影响内部数据结构。当两个项目具有相同的哈希值并以相同的桶结尾时,则将它们添加到字典的顺序很重要。

>>> (1).__hash__()
1
>>> (1 << 32).__hash__()
1
>>> repr({1: 'one', 1 << 32: 'not one'})
"{1: 'one', 4294967296L: 'not one'}"
>>> repr({1 << 32: 'not one', 1: 'one'})
"{4294967296L: 'not one', 1: 'one'}"
2021-01-20