Re: [問題] list相同key數值相加
※ 引述《ntasop (kuli)》之銘言:
: [['102C', '1', '0'], ['1040', '0', '250'], ['1042', '5', '10'],
: ['1040', '0', '1000'], ['1090', '0', '40'], ['1090', '['1090', '20', '0'],
: ['102C' '20', '0'], ['1142', '0', '21000'],......]
: 真的不好意思寫不出來,所以來請教高手,
: 有比較快的方法把上面list相同key1後key2,key3相加?
# version > 2.5
from collections import defaultdict
a = [
['102C', '1', '0'],
['1040', '0', '250'],
['1042', '5', '10'],
['1040', '0', '1000'],
['1090', '0', '40'],
['1090', '20', '0'],
['102C', '20', '0'],
['1142', '0', '21000'],
]
d = defaultdict(lambda : [0,0])
for k,v0,v1 in a:
d[k] = [d[k][0]+int(v0),d[k][1]+int(v1)]
d = dict(d)
我的話會先用這種直白作法...應該還滿好理解的
其實用基本dict,for,if也都可以刻出一樣的
建議您有時候還是自己先刻刻看比較好...
po上來有問題的話相信版上各位大大會幫忙指正觀念
--
~(291705206)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.255.22.214
推
06/16 13:25, , 1F
06/16 13:25, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 4 之 4 篇):
Python 近期熱門文章
PTT數位生活區 即時熱門文章