当我声明一个列表 1,2,3,4 并用它做一些事情时,即使只是打印我也得到相同的序列 1,2,3,4。
但是当我用字典做任何事情时,它们总是会改变数字顺序,就像它以我无法理解的扭曲方式排序一样。
test1 = [4,1,2,3,6,5]
print test1
test2 = {"c":3,"a":1,"b":2,"d":4}
print test2
[4, 1, 2, 3, 6, 5]
{'a': 1, 'c': 3, 'b': 2, 'd': 4}
'a' 究竟是如何成为第一个元素而 'c' 的,即使它按字母顺序对字典进行排序,它也应该是 1,2,3,4 或 a,b,c,d 而不是 1,3 ,2,4 。 wT?F @!$!@$#@!
那么我如何在不改变元素位置的情况下打印,从字典中获取值呢?
最佳答案
Python 中的字典根据定义是无序的。如果您需要插入值的顺序,请使用 OrderedDict
(它在 Python 2.7 和 3.x 中可用)。
关于python - 为什么字典值不按插入顺序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6061380/