为什么python中的iteritems()函数会以随机顺序检索键值对?

为什么python中的iteritems()函数会以随机顺序检索键值对?,python,dictionary,Python,Dictionary,从上面的示例可以看出,键值对不是从左到右或从右到左打印的 为了得到排序结果,我使用 >>> basket = {'fruit' : 'apple','veg' : 'potato', 'grain' : 'rice', 'liquor' : 'wine'} >>> for k,v in basket.iteritems(): ... print k,v ... veg potato liquor wine fruit apple grain rice

从上面的示例可以看出,键值对不是从左到右或从右到左打印的

为了得到排序结果,我使用

>>> basket = {'fruit' : 'apple','veg' : 'potato', 'grain' : 'rice', 'liquor' : 'wine'}
>>> for k,v in basket.iteritems():
...     print k,v
... 
veg potato
liquor wine
fruit apple
grain rice
>>> 
当我尝试获取键值对的索引时,我得到

>>> basket = {'fruit' : 'apple','veg' : 'potato', 'grain' : 'rice', 'liquor' : 'wine'}
>>> for k,v in sorted(basket.iteritems()):
...     print k,v
... 
fruit apple
grain rice
liquor wine
veg potato
>>> 

为什么会发生这种情况?如何从左到右打印字典定义中出现的键值对?

如果您曾经制作过哈希表,那么您知道不需要存储顺序

事实上,这是额外的工作


如果您想保持插入项的顺序,可以使用,它可以做到这一点。

字典没有顺序。
>>> basket = {'fruit' : 'apple','veg' : 'potato', 'grain' : 'rice', 'liquor' : 'wine'}
>>> for k,v in enumerate(basket.iteritems()):
...     print k,v
... 
0 ('veg', 'potato')
1 ('liquor', 'wine')
2 ('fruit', 'apple')
3 ('grain', 'rice')
>>>