Iterating Over a Dictionary

suggest change

If you use a dictionary as an iterator (e.g. in a for statement), it traverses the keys of the dictionary. For example:

d = {'a': 1, 'b': 2, 'c':3}
for key in d:
    print(key, d[key])
# c 3
# b 2
# a 1

The same is true when used in a comprehension

print([key for key in d])
# ['c', 'b', 'a']

The items() method can be used to loop over both the key and value simultaneously:

for key, value in d.items():
    print(key, value)
# c 3
# b 2
# a 1

While the values() method can be used to iterate over only the values, as would be expected:

for key, value in d.values():
    print(key, value)
    # 3
    # 2
    # 1

Here, the methods keys(), values() and items() return lists, and there are the three extra methods iterkeys() itervalues() and iteritems() to return iteraters.

Feedback about page:

Feedback:
Optional: your email if you want me to get back to you:



Table Of Contents