13

对于字典,我想跟踪已解析的项目数。与下面显示的相比,有没有更好的方法来做到这一点?

count = 0
for key,value in my_dict.items():
     count += 1
     print key,value, count
4

1 回答 1

35

您可以使用以下enumerate()功能

for count, (key, value) in enumerate(my_dict.items(), 1):
    print key, value, count

enumerate()有效地将计数添加到您正在循环的迭代器。在上面的示例中,我告诉enumerate()您开始计数1以匹配您的示例;默认是从 0 开始。

演示:

>>> somedict = {'foo': 'bar', 42: 'Life, the Universe and Everything', 'monty': 'python'}
>>> for count, (key, value) in enumerate(somedict.items(), 1):
...     print key, value, count
... 
42 Life, the Universe and Everything 1
foo bar 2
monty python 3
于 2013-06-06T23:10:18.977 回答