在 python 中,字典 {1:1,2:2,3:3}
和 {3:3,2:2,1:1}
产生 "{1:1,2:2,3:3}"
当 str()'d?
我能否依赖这种排序,或者至少依赖于包含相同键/值对的字典在通过 str() 函数时会生成相同的字符串这一事实?
最佳答案
您不能依赖这两个属性中的任何一个。字典转换为字符串时的顺序还取决于键/值对的插入顺序。
只要对 Python 源代码有一点了解(观看 PyCon 2010 中的 The Mighty Dictionary),或者通过反复试验,您可以轻松找到反例:
>>> {1: 1, 9: 9}
{1: 1, 9: 9}
>>> {9: 9, 1: 1}
{9: 9, 1: 1}
关于python - python dict str() 函数是否可靠地对键进行排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8289418/