請(qǐng)教,關(guān)于python字典,合并相同值的鍵的實(shí)現(xiàn)方法
問題描述
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中 將值相等的鍵合并,想要的到結(jié)果如下
dic_A = {12: 7, 3: 9, 456: 8}
請(qǐng)教一下,應(yīng)該如何實(shí)現(xiàn)呢? 謝謝。
問題解答
回答1:這樣看可以嗎?
題主也沒有說清楚是從哪一步開始轉(zhuǎn)換,如果從一開始列表時(shí)就往這個(gè)目的操作,那這個(gè)問題實(shí)則不難。
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]}>>>
相關(guān)文章:
1. javascript - 請(qǐng)教,用原生js插入html的問題2. javascript - 小demo:請(qǐng)教怎么做出類似于水滴不斷擴(kuò)張的效果?3. javascript - 請(qǐng)教移動(dòng)端從詳情頁返回到列表頁原來位置的問題?4. 為什么我輸入了refresh不會(huì)跳轉(zhuǎn)?請(qǐng)教大神支招!5. css3動(dòng)畫 - Canvas、Css3、動(dòng)畫高手請(qǐng)進(jìn)Html5問題請(qǐng)教6. javascript - 關(guān)于TinyMCE在IE11上面的問題:請(qǐng)教如何禁止編輯框內(nèi)的元素拖動(dòng)?謝謝(用的是Angular)。7. html - 請(qǐng)教,下圖登錄頁如何用css實(shí)現(xiàn)?半透明的邊框怎么做?8. java - REST API命名問題請(qǐng)教9. 請(qǐng)教編輯對(duì)應(yīng)的update10. java - TimeLine推拉模式請(qǐng)教
