关于字典:如果我在Python字典上调用iteritems(),结果列表的顺序是如何确定的?

If I call iteritems() on a Python dict, how is the order of the resulting list determined?

本问题已经有最佳答案,请猛点这里访问。

我知道python dicts是无序的,但是如果调用iteritems(),它将返回一个按顺序排列的列表。如何确定该列表的顺序?


顺序由它们出现在dict的内部表中的顺序决定。它本质上是对象的散列修改该表的长度(当存在散列冲突时加上一些偏移量)。当内部表的大小发生变化时,顺序就会改变,这在您从dict中添加项(或在删除项时减少)时就会发生。

你不能合理地预测它,也不应该为了任何目的而依赖字典排序。

请阅读:

python字典实现