我有这本字典
{'jackie chan': ('rush hour', 'rush hour 2'),
'crish tucker': ('rush hour', 'rush hour 2')}
我希望逆字典是
{'rush hour': ('jackie chan', 'crish tucker'),
'rush hour 2': ('jackie chan', 'crish tucker')}
我已经得到了反转的功能,但它看起来不像第二个字典
def invert_actor_dict(actor_dict):
movie_dict = {}
for key,value in actor_dict.iteritems():
for actor in value:
if actor in movie_dict:
movie_dict[actor].append(key)
else:
movie_dict[actor] = (key)
return movie_dict
最佳答案
您可以使用 collections.defaultdict
轻松完成此操作:
def invert_dict(d):
inverted_dict = collections.defaultdict(set)
for actor, movies in d.iteritems():
for movie in movies:
inverted_dict.add(actor)
return inverted_dict
关于python - 在python中反转字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8246484/