[問題] List跟Dict複合型態問題

作者: koow ( )   2021-04-23 10:24:03
請問一下各位前輩
如果我有一個List 裡面每個位置擺的是一個Dict
ex:
[{"A":12,"B":26} , {"A":8,"B":10} , {"A":21,"B":6}............]
請問有辦法一次取出每個位置的A做加總嗎?
還是一定得用for迴圈去取
找好久想說有沒有更方便自己不知道的方法XD
感謝各位
作者: carrlyea   2021-04-23 10:33:00
sum([x["A"] for x in alist])
作者: yiche (你若安好,便是晴天)   2021-04-23 10:34:00
一定要用迴圈遍歷每個list中的元素啊,這寫法的元素是長度為2的字典
作者: IAMPF (PF)   2021-04-23 10:34:00
sum([el['a'] for el in LIST])
作者: poototo (poototo)   2021-04-23 10:36:00
若很頻繁處理這種情形,可考慮使用pandas
作者: koow ( )   2021-04-23 10:48:00
感謝樓上各位解惑 我先來研究看看XDD pandas是說先轉成df嗎?
作者: TitanEric (泰坦)   2021-04-23 11:31:00
沒錯唷
作者: ciaoPTT (Ciao)   2021-04-24 02:09:00
請問如果A B要當col,該怎麼寫呢?
作者: aalexx (aalexx.S)   2021-04-24 08:49:00
或許可以在結構上做變更,例如,list內的資料是預先知道的嗎?還是接受streaming input?每個dict是否為immutable?如果會更新,有沒有辦法cache然後做記號之類的
作者: fiorentino (眠)   2021-04-27 20:09:00
sum(map(lambda x:x['A'], a))忘了說a是原始資料

Links booklink

Contact Us: admin [ a t ] ucptt.com