如何使用dict
迭代enumerate
,以便我可以在迭代时解包索引,键和值?
类似的东西:
for i, (k, v) in enumerate(mydict):
# some stuff
我想迭代一个名为mydict
的字典中的键和值并对它们进行计数,所以我知道我在最后一个字典中的时间。
答案 0 :(得分:48)
您应该将mydict.items()
与enumerate
一起使用,而不是使用mydict
:
for i, (k, v) in enumerate(mydict.items()):
# your stuff
示例示例:
mydict = {1: 'a', 2: 'b'}
for i, (k, v) in enumerate(mydict.items()):
print("index: {}, key: {}, value: {}".format(i, k, v))
# which will print:
# -----------------
# index: 0, key: 1, value: a
# index: 1, key: 2, value: b
<强>说明:强>
enumerate
返回一个迭代器对象,其中包含以下格式的元组:[(index, list_element), ...]
dict.items()
返回一个迭代器对象(在Python 3.x中。它在Python 2.7中返回list
,格式为:[(key, value), ...]
enumerate(dict.items())
将返回一个包含元组的迭代器对象,格式为:[(index, (key, value)), ...]