常用list、dict、tuple小tips(複習)
阿新 • • 發佈:2018-11-21
一:兩個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)]