问题

我对以下代码感到困惑:

d = {'x': 1, 'y': 2, 'z': 3} 
for key in d:
    print key, 'corresponds to', d[key]

我不明白的是部分. Python如何认识到它只需要从字典中读取密钥?在Python中 key 是一个特殊的词吗?还是只是一个变量?



解决方法

只是一个变量名.

for key in d:

会简单地循环字典中的键,而不是键和值.要循环键和值,您可以使用以下内容:

对于Python 2.x:

for key, value in d.iteritems():

对于Python 3.x:

for key, value in d.items():

要自己测试,将改为 poop .

对于Python 3.x, iteritems()已被替换为 items(),它返回一个类似于set的视图, > iteritems()但更好. 这也可以在2.7作为 viewitems().

操作 items()将用于2和3,但在2中它将返回字典的(键,值)对的列表,不会反映在 items()调用之后发生的dict的更改.如果你想在3.x中的2.x行为,你可以调用 list(d.items()).




相关问题推荐