从for循环输出字典

时间:2015-07-12 12:48:51

标签: python for-loop dictionary

我刚从codecademy开始学习Python课程。我试图按字典中的顺序返回dic值。

residents = {'Puffin' : 104, 'Sloth' : 105, 'Burmese Python' : 106}


res = residents.values()
count = 0
for element in res:
    print res[count]
    count += 1

我收到的输出: 105 104 106

从此我得到的是我不完全理解for循环或字典是如何工作的,我期望得到104 105 106作为输出。有人可以解释一下吗?

2 个答案:

答案 0 :(得分:1)

字典不是用Python命令的。很多时候我试过在它们上面运行循环并且预期输出的顺序与我给它输入的顺序相同,但它没有用。所以我猜,这不是for loop的错误。

正如Maroun在评论中建议的那样,你应该使用OrderedDict

答案 1 :(得分:0)

您无法按顺序获取dict中的键或相关值。你得到它们的顺序似乎是随机的。

如果你想要一个有序的字典,请使用collections.OrderedDict或将密钥存储在列表中,同时使用两者:列表中的密钥保存在dict和实际字典中。