迭代字典
考虑以下字典:
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 中,以上述方式打印的项目顺序不遵循任何顺序。