标签: python dictionary
我知道Python dicts是无序的,但如果你调用iteritems(),它会返回一个有序的列表。如何确定该列表的顺序?
答案 0 :(得分:8)
订单由它们在dict的内部表中出现的顺序决定。这本质上是对象的散列,即该表的长度(加上一些散列碰撞时的偏移量)。每当内部表的大小发生变化时,订单都会发生变化,这可能发生在您从dict添加项目时(或者在删除项目时更少)。
你无法合理地预测它,也不应该为任何目的依赖字典排序。
阅读本文:
Python dictionary implementation