請教,關于python字典,合并相同值的鍵的實現方法
問題描述
a = [1,2,3,4,5,6]b = [7,7,9,8,8,8]# 字典 dic_A 合并列表a,b。 dic_A = dict(zip(a,b))dic_A {1: 7, 2: 7, 3: 9, 4: 8, 5: 8, 6: 8}
我想 在字典dic_A中 將值相等的鍵合并,想要的到結果如下
dic_A = {12: 7, 3: 9, 456: 8}
請教一下,應該如何實現呢? 謝謝。
問題解答
回答1:這樣看可以嗎?
題主也沒有說清楚是從哪一步開始轉換,如果從一開始列表時就往這個目的操作,那這個問題實則不難。
from itertools import groupbyfrom functools import reducedic_a = {1: 7, 2: 7, 3: 9, 4: 8, 5: 8, 6: 8}dica = dict([reduce(lambda v, e: (int(str(v[0])+str(e[0])), k), g) for k, g in groupby(dic_a.items(), lambda v: v[1])])>>> dica>>> {3: 9, 12: 7, 456: 8}回答3:
python3
setdefault
>>> a = [1,2,3,4,5,6]>>> b = [7,7,9,8,8,8]>>> d={}>>> for k,v in zip(b,a): d.setdefault(k,[]).append(v) >>> d{8: [4, 5, 6], 9: [3], 7: [1, 2]}>>>
相關文章:
1. 有在VMware 上安裝過Ubuntu的 嗎》請教個問題2. sql語句 - 請教關于mysql分組查詢統計數據的問題3. java - 請教一個spring定時任務的問題4. javascript - 請教如何獲取百度貼吧新增的兩個加密參數5. python沒入門,請教一個問題6. CSS代碼書寫的問題,非常糾結,請教老鳥。7. javascript - Node與Express開發中的用MongoDb存儲會話數據問題,按照書敲的,出現了如下問題,搜索已久找不到答案,特意想大家請教8. ubuntu系統php+apache web服務器異步方法不執行回調請教9. 請教一個mysql去重取最新記錄10. python - 請教怎么把本地的virtualenv環境部署在服務器上?

網公網安備