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

时间:2013-11-11 00:33:18

标签: python-2.7 dictionary key

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

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

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

为什么python会根据自己的想法安排密钥?

从其他一些讨论中我发现: 字典未分类。它们显示的顺序是由于内部逻辑,并且与您在其中定义的顺序不对应。

但是我对内部发生的事情更感兴趣,内部逻辑是什么导致了这一点; 很难知道字典是通过键而不是索引访问的事实所以它几乎没有任何区别这些项目的顺序是什么。

这是我的shell的输出窗口: enter image description here

1 个答案:

答案 0 :(得分:0)

在6年零9个月未解决之后,我想亲自回答并结束这个问题。

  1. 如@KobeJohn所述,令人满意的答案是“ Python的字典本来就是无序的。
  2. 字符串化后,表示形式与存储方式无关。
  3. 有关更多信息,请参考官方documentation
  4. 可以通过this StackOverflow帖子了解字典的实现。

注意:此答案的重点仅在于python v2.7。从理论上讲,现在应该随着Python 3.x的出现而过时了。 T 他已被回答只是为了回答并关闭它。