如果我在Python dict上调用iteritems(),那么结果列表的顺序是如何确定的?

时间:2014-04-15 19:24:21

标签: python dictionary

我知道Python dicts是无序的,但如果你调用iteritems(),它会返回一个有序的列表。如何确定该列表的顺序?

1 个答案:

答案 0 :(得分:8)

订单由它们在dict的内部表中出现的顺序决定。这本质上是对象的散列,即该表的长度(加上一些散列碰撞时的偏移量)。每当内部表的大小发生变化时,订单都会发生变化,这可能发生在您从dict添加项目时(或者在删除项目时更少)。

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

阅读本文:

Python dictionary implementation

相关问题