在Python字典上调用iteritems()时,返回列表的顺序如何确定?
我知道Python中的字典是没有顺序的,但如果你调用iteritems(),它会返回一个有顺序的列表。那么,这个列表的顺序是怎么决定的呢?
1 个回答
8
字典中元素的顺序是由它们在字典内部表格中出现的顺序决定的。简单来说,就是对象的哈希值对这个表格的长度取余(如果有哈希冲突,还会加上一些偏移量)。每当字典内部表格的大小发生变化时,顺序就会改变,这种变化通常在你添加新项时会发生(删除项时则不太常见)。
所以,你无法合理地预测这个顺序,也不应该依赖字典的顺序来做任何事情。
可以看看这个链接: