迭代字典
考慮以下字典:
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 中,以上述方式列印的專案順序不遵循任何順序。