一個簡單的for語句就能循環字典的所有鍵,就像處理序列一樣:
In [1]: d = {'x':1, 'y':2, 'z':3}
In [2]: for key in d:
...: print key, 'corresponds to', d[key]
...:
y corresponds to 2
x corresponds to 1
z corresponds to 3
在python2.2之前,還只能用beys等字典方法來獲取鍵(因為不允許直接迭代字典)。如果只需要值,可以使用d.values代替d.keys。d.items方法會將鍵-值對作為元組返回,for循環的一大好處就是可以循環中使用序列解包:
In [4]: for key, value in d.items():
...: print key, 'corresponds to', value
...:
y corresponds to 2
x corresponds to 1
z corresponds to 3
注意:字典元素的順序通常沒有定義。換句話說,迭代的時候,字典中的鍵和值都能保證被處理,但是處理順序不確定。如果順序很重要的話,可以將鍵值保存在單獨的列表中,例如迭代前進行排序。