在字典中,没有重复的键。因此,当您{'history':'literature'}
在第一个循环之后,它将被覆盖{'history':'history'}
。
与其创建字典,不如直接遍历zip(a, b)
?
for k, v in zip(a, b):
if k == v:
print(k, v)
如果您想为一个键设置多个值,则可以使用defaultdict
模块中的 a collections
:
>>> from collections import defaultdict
>>> d = defaultdict(list)
>>> for k, v in zip(a, b):
... d[k].append(v)
...
>>> print(d)
defaultdict(<type 'list'>, {'sport': ['history'], 'math': ['math', 'math'], 'history': ['literature', 'history']})
>>> print(list(d.items()))
[('sport', ['history']), ('math', ['math', 'math']), ('history', ['literature', 'history'])]
>>> for k, v in d.items():
... if k in v:
... print k, v
...
math ['math', 'math']
history ['literature', 'history']