python之實現(xiàn)兩個或多個列表相加
python兩個或多個列表相加
最近做了個數(shù)據(jù)統(tǒng)計,需要將一個大列表里的多個小列表相同下標的值相加;
例:
a = [ [1, 2, 3], [2, 3, 4] ] # 結(jié)果:[3, 5, 7]
在網(wǎng)上找了很多列子,還都不錯,我先貼一下:
zip方法
a = [1, 2, 3] b = [4, 5, 6] result = [i + j for i, j in zip(a, b)] print(result) # [5, 7, 9]
map方法
lst1 = [1, 4, 7] lst2 = [2, 5, 3] import operator sum_lst = list(map(operator.add, lst1, lst2)) print(sum_lst)
numpy方法
lst1 = [1, 4, 7] lst2 = [2, 5, 3] import numpy as np sum_lst = list(np.add(lst1, lst2)) print(sum_lst)
但是后來,需求變得更復(fù)雜,并不是兩個列表,是7個列表,甚至更多,上述方法就不太好用了;后面自己做了下調(diào)整,算是記錄下這種方法,能夠解決這個問題;
map + 函數(shù)調(diào)用
js_list = [ [77, 6, 3, 11], [80, 7, 4, 8], [80, 7, 4, 7]] long = len(js_list[0]) def func(n): num = sum([i[n] for i in js_list]) return num # 使用 map() 內(nèi)置函數(shù)實現(xiàn) res = map(func, range(long)) print(list(res))
后面還發(fā)現(xiàn)一種通過numpy的方法,更方便,終歸還是別人封裝好的好用;
import numpy as np js_list = [ [77, 6, 3, 11], [80, 7, 4, 8], [80, 7, 4, 7]] result = np.add.reduce(js_list) print(result)
python中列表拼接(兩個列表相加的結(jié)果)
列表相加是拼接到一起
兩個列表相加不是對應(yīng)的值相加,而是類似字符串拼接那樣進行拼接的。
代碼
list1 = [1,2,3] list2 = [4,5,6] list3 = list1 + list2 print(list3)
結(jié)果
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用python設(shè)置Excel工作表網(wǎng)格線的隱藏與顯示
Excel表格界面的直觀性很大程度上得益于表格中的網(wǎng)格線設(shè)計,這些線條幫助用戶精確對齊數(shù)據(jù),清晰劃分單元格,本文將介紹如何使用Python設(shè)置隱藏或顯示Excel工作表的網(wǎng)格線,實現(xiàn)自動話及批量處理,感興趣的朋友可以參考下2024-06-06Django中在xadmin中集成DjangoUeditor過程詳解
這篇文章主要介紹了Django中在xadmin中集成DjangoUeditor過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-07-07PyQt5 QSerialPort子線程操作的實現(xiàn)
這篇文章主要介紹了PyQt5 QSerialPort子線程操作的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-04-04python生成13位或16位時間戳以及反向解析時間戳的實例
這篇文章主要介紹了python生成13位或16位時間戳以及反向解析時間戳的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03