3 回答
TA贡献1836条经验 获得超13个赞
这应该可以帮助你:
my_dict={'Book 1':'Martha','Book 2':'Randy','Book 5':'Martha'}
final_dict = {}
for key in my_dict.keys():
final_dict.setdefault(my_dict[key],[]).append(key)
print(final_dict)
输出:
{'Martha': ['Book 1', 'Book 5'], 'Randy': ['Book 2']}
TA贡献1860条经验 获得超8个赞
使用 acollections.defaultdict按值对键进行分组:
from collections import defaultdict
my_dict={'Book 1':'Martha','Book 2':'Randy','Book 5':'Martha'}
d = defaultdict(list)
for k, v in my_dict.items():
d[v].append(k)
print(d)
输出:
defaultdict(<class 'list'>, {'Martha': ['Book 1', 'Book 5'], 'Randy': ['Book 2']})
TA贡献1757条经验 获得超7个赞
您可以使用defaultdict
可用的功能。代码如下:
from collections import defaultdict
my_dict={'Book 1':'Martha','Book 2':'Randy','Book 5':'Martha'}
new_dict = defaultdict(list)
for i in my_dict:
new_dict[my_dict[i]].append(i)
new_dict = dict(new_dict)
print(new_dict)
添加回答
举报