Python 2.7 为什么要重新排列字典的键?
我创建了一个字典,有3个键,每个键都有一个字符串作为数据 在创建之后,为了验证它,我打印了出来,只是发现键的顺序与我输入键的方式不同 如果python以递增或递减的顺序排列键,这是有意义的,但是在这种情况下,也很难相信这一点。对于与该键关联的数据大小的合理性来说,这听起来也不太酷 为什么python在自己的脑海中安排钥匙 从其他一些讨论中,我确实发现: 字典没有分类。它们的显示顺序是由内部逻辑决定的,与您在其中定义它们的顺序不一致 然而,我更感兴趣的是内在发生的事情,以及导致这种情况的内在逻辑是什么;很难知道字典是通过键而不是索引访问的,所以条目的顺序几乎没有区别 这是my的输出窗口:Python 2.7 为什么要重新排列字典的键?,python-2.7,dictionary,key,Python 2.7,Dictionary,Key,我创建了一个字典,有3个键,每个键都有一个字符串作为数据 在创建之后,为了验证它,我打印了出来,只是发现键的顺序与我输入键的方式不同 如果python以递增或递减的顺序排列键,这是有意义的,但是在这种情况下,也很难相信这一点。对于与该键关联的数据大小的合理性来说,这听起来也不太酷 为什么python在自己的脑海中安排钥匙 从其他一些讨论中,我确实发现: 字典没有分类。它们的显示顺序是由内部逻辑决定的,与您在其中定义它们的顺序不一致 然而,我更感兴趣的是内在发生的事情,以及导致这种情况的内在逻辑是
在6年零9个月没有得到回答之后,我想自己回答并结束这个问题 正如@KobeJohn所说,令人满意的答案是Python的字典天生就是无序的。 字符串化时,表示与存储方式无关。 有关更多信息,请咨询该官员。 字典的实现可以通过StackOverflow post学习。
注意:这个答案的重点是PythonV2.7。理论上,随着Python3.x的出现,这应该已经过时了。现在回答这个问题只是为了回答和结束它。字典本身就是无序的。这是他们工作效率的一部分。是你可以阅读更多的文档。如果你想知道它们是如何工作的,你可以更改标题来表示它。然而,有人问。是一套很好的答案。@kobejohn:我想他是在问,当它被施压时,它是如何表现出来的,以及这种表现是如何有特定的顺序的。