如何在Python中将字典的键转换为字典的值列表?

如果值相同,我想将字典转换为字典列表。我有下面的示例数据:

my_dict={'Book 1':'Martha','Book 2':'Randy','Book 5':'Martha'}

现在我想将上面的字典转换为以下输出:

my_dict={'Randy':['Book 2'],'Martha':['Book 1','Book 5']}

我如何在Python中做到这一点?


UYOU
浏览 142回答 3
3回答

开心每一天1111

这应该可以帮助你: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']}

桃花长相依

使用 acollections.defaultdict按值对键进行分组:from collections import defaultdictmy_dict={'Book 1':'Martha','Book 2':'Randy','Book 5':'Martha'}d = defaultdict(list)for k, v in my_dict.items():&nbsp; &nbsp; d[v].append(k)print(d)输出:defaultdict(<class 'list'>, {'Martha': ['Book 1', 'Book 5'], 'Randy': ['Book 2']})

长风秋雁

您可以使用defaultdict可用的功能。代码如下:from collections import defaultdictmy_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)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python