d = {'x': 1, 'y': 2, 'z': 3}
for key in d:
print(key, 'corresponds to', d[key])
How does Python recognize that it needs only to read the key
from the dictionary? Is key
a special keyword, or is it simply a variable?
dictionarypython
d = {'x': 1, 'y': 2, 'z': 3}
for key in d:
print(key, 'corresponds to', d[key])
How does Python recognize that it needs only to read the key
from the dictionary? Is key
a special keyword, or is it simply a variable?
Best Answer
key
is just a variable name.will simply loop over the keys in the dictionary, rather than the keys and values. To loop over both key and value you can use the following:
For Python 3.x:
For Python 2.x:
To test for yourself, change the word
key
topoop
.In Python 3.x,
iteritems()
was replaced with simplyitems()
, which returns a set-like view backed by the dict, likeiteritems()
but even better. This is also available in 2.7 asviewitems()
.The operation
items()
will work for both 2 and 3, but in 2 it will return a list of the dictionary's(key, value)
pairs, which will not reflect changes to the dict that happen after theitems()
call. If you want the 2.x behavior in 3.x, you can calllist(d.items())
.