迭代字典

考慮以下字典:

 d = {"a": 1, "b": 2, "c": 3}

要遍歷其鍵,你可以使用:

for key in d:
    print(key)

輸出:

"a"
"b"
"c"

這相當於:

for key in d.keys():
    print(key)

或者在 Python 2 中:

for key in d.iterkeys():
    print(key)

要遍歷其值,請使用:

for value in d.values():
    print(value)

輸出:

1
2
3

要遍歷其鍵和值,請使用:

for key, value in d.items():
    print(key, "::", value)

輸出:

a :: 1
b :: 2
c :: 3

請注意,在 Python 2 中,.keys().values().items() 返回 list 物件。如果你只需要通過結果迭代,則可以使用等效的 .iterkeys().itervalues().iteritems()

.keys().iterkeys().values().itervalues().items().iteritems() 之間的區別在於 iter*方法是生成器。因此,字典中的元素在評估時逐一產生。返回 list 物件時,所有元素都打包到一個列表中,然後返回進行進一步評估。

另請注意,在 Python 3 中,以上述方式列印的專案順序不遵循任何順序。