If I call iteritems() on a Python dict, how is the order of the resulting list determined?
本问题已经有最佳答案,请猛点这里访问。
我知道python dicts是无序的,但是如果调用iteritems(),它将返回一个按顺序排列的列表。如何确定该列表的顺序?
顺序由它们出现在dict的内部表中的顺序决定。它本质上是对象的散列修改该表的长度(当存在散列冲突时加上一些偏移量)。当内部表的大小发生变化时,顺序就会改变,这在您从dict中添加项(或在删除项时减少)时就会发生。
你不能合理地预测它,也不应该为了任何目的而依赖字典排序。
请阅读:
python字典实现