亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Python中將字典的鍵轉換為字典的值列表?

如何在Python中將字典的鍵轉換為字典的值列表?

UYOU 2023-12-29 16:56:43
如果值相同,我想將字典轉換為字典列表。我有下面的示例數據:my_dict={'Book 1':'Martha','Book 2':'Randy','Book 5':'Martha'}現在我想將上面的字典轉換為以下輸出:my_dict={'Randy':['Book 2'],'Martha':['Book 1','Book 5']}我如何在Python中做到這一點?
查看完整描述

3 回答

?
開心每一天1111

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']}


查看完整回答
反對 回復 2023-12-29
?
桃花長相依

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']})


查看完整回答
反對 回復 2023-12-29
?
長風秋雁

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)


查看完整回答
反對 回復 2023-12-29
  • 3 回答
  • 0 關注
  • 220 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號