Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 2.7 为什么要重新排列字典的键?_Python 2.7_Dictionary_Key - Fatal编程技术网

Python 2.7 为什么要重新排列字典的键?

Python 2.7 为什么要重新排列字典的键?,python-2.7,dictionary,key,Python 2.7,Dictionary,Key,我创建了一个字典,有3个键,每个键都有一个字符串作为数据 在创建之后,为了验证它,我打印了出来,只是发现键的顺序与我输入键的方式不同 如果python以递增或递减的顺序排列键,这是有意义的,但是在这种情况下,也很难相信这一点。对于与该键关联的数据大小的合理性来说,这听起来也不太酷 为什么python在自己的脑海中安排钥匙 从其他一些讨论中,我确实发现: 字典没有分类。它们的显示顺序是由内部逻辑决定的,与您在其中定义它们的顺序不一致 然而,我更感兴趣的是内在发生的事情,以及导致这种情况的内在逻辑是

我创建了一个字典,有3个键,每个键都有一个字符串作为数据

在创建之后,为了验证它,我打印了出来,只是发现键的顺序与我输入键的方式不同

如果python以递增或递减的顺序排列键,这是有意义的,但是在这种情况下,也很难相信这一点。对于与该键关联的数据大小的合理性来说,这听起来也不太酷

为什么python在自己的脑海中安排钥匙

从其他一些讨论中,我确实发现: 字典没有分类。它们的显示顺序是由内部逻辑决定的,与您在其中定义它们的顺序不一致

然而,我更感兴趣的是内在发生的事情,以及导致这种情况的内在逻辑是什么;很难知道字典是通过键而不是索引访问的,所以条目的顺序几乎没有区别

这是my的输出窗口:

在6年零9个月没有得到回答之后,我想自己回答并结束这个问题

正如@KobeJohn所说,令人满意的答案是Python的字典天生就是无序的。 字符串化时,表示与存储方式无关。 有关更多信息,请咨询该官员。 字典的实现可以通过StackOverflow post学习。
注意:这个答案的重点是PythonV2.7。理论上,随着Python3.x的出现,这应该已经过时了。现在回答这个问题只是为了回答和结束它。

字典本身就是无序的。这是他们工作效率的一部分。是你可以阅读更多的文档。如果你想知道它们是如何工作的,你可以更改标题来表示它。然而,有人问。是一套很好的答案。@kobejohn:我想他是在问,当它被施压时,它是如何表现出来的,以及这种表现是如何有特定的顺序的。