以下代码使我有些困惑:
d = {'x': 1, 'y': 2, 'z': 3} for key in d: print key, 'corresponds to', d[key]
我不明白的是那key部分。Python如何识别它只需要从字典中读取密钥?是keyPython中的特殊字?还是仅仅是一个变量?
keyPython
5174
key 只是一个变量名。
key
for key in d:
只会循环遍历字典中的键,而不是键和值。要遍历键和值,可以使用以下命令:
对于Python 3.x:
for key, value in d.items():
对于Python 2.x:
for key, value in d.iteritems():
要测试自己,请将单词更改key为poop。
在Python 3.x中,iteritems()替换为simple items(),它返回由dict支持的类似set的视图,iteritems()但效果更好。在2.7中也可用viewitems()。
Python 3.x中,iteritems()
simple items()
iteritems()
viewitems()
该操作items()将对2和3都适用,但是在2中,它将返回字典(key, value)对的列表,该列表将不反映items()调用之后对dict所做的更改。如果要在3.x中使用2.x行为,可以调用list(d.items())。
items()
(key, value)
list(d.items())