兩個list對應元素相加



a=[1,2,3] b=[4,5,6]

現將list a與 list b按位相加,其結果為[5,7,9]

方法一:

c=[a[i]+b[i] for i in range(min(len(a),len(b)))] 

方法二:

c=list(map(lambda x :x[0]+x[1] ,zip(a,b)))

方法三:

調用numpy庫

import numpy as np c = np.array(a) + np.array(b) 

map()函數:

map()函數接受兩個參數,一個是函數,一個是序列,map將傳入的函數作用到序列的每個元素,並返回一個可以列表化的map對象。(python2直接返回列表)

zip()函數:

zip()是Python的一個內建函數,它接受一系列可迭代的對象作為參數,將對象中對應的元素打包成一個個tuple(元組),然后返回由這些tuples組成的可list化的zip對象。若傳入參數的長度不等,則返回list的長度和參數中長度最短的對象相同。利用*號操作符,可以將list unzip(解壓)

>>> a = [1,2,3] >>> b = [4,5,6] >>> c = [4,5,6,7,8] >>> zipped = zip(a,b) <zip object at 0x02B01B48> #返回的是一個對象 [(1, 4), (2, 5), (3, 6)] >>> list(zip(a,c)) [(1, 4), (2, 5), (3, 6)] >>> list(zip(*zipped)) #解壓也使用list進行轉換 [(1, 2, 3), (4, 5, 6)]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM