在这种情况下,我需要帮助:
m={}
m[1]=1
m[333]=333
m[2]=2
# Result:
{1: 1, 2: 2, 333: 333}
因此,即使我最后一次没有输入“333”,在打印出来时,我也会在字典的末尾列出该“333”。为什么这个“字典”进行自动排序?以及如何禁用它?我可以创建一个功能来重新排序以修复订单。但这不是我想要的,我只是想打印并获得输出顺序,就像输入数据时的顺序一样。有什么好的解释和解决方案吗?
最佳答案
它没有排序。 dict
根本没有排序,因此您不能以任何方式影响键的顺序。在2.7和3.1+中有 collections.OrderedDict
,在2.4-2.6中也有standalone module。
关于python : how to disable auto sort when creating dictionary,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10371085/