my_dict = {"one":1, "two":2, "three":3}
print(my_dict)
我是新手。我被告知字典是无序的,但输出仍然是这种或那种的顺序......它在这里是相反的。
为什么在一个看似无序的字典中,上面代码的输出如下?
{'three': 3, 'two': 2, 'one': 1}
如果有人能解释我会非常感激。
感谢。
答案 0 :(得分:1)
"无序"意味着订单是任意的和非重要的,而不是它是纯粹随机的。此顺序取决于底层实现如何在内部存储密钥,并且自1.5.x天以来已经更改了很多次。除了dict.keys()
和dict.values()
将保持同步,即断言:
all(dict.values()[x] == dict[dict.keys()[x]] for x in range(len(dict)))
永远是真的。