1. 程式人生 > >常用list、dict、tuple小tips(複習)

常用list、dict、tuple小tips(複習)

一:兩個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)]