首先python中的map函式是很簡單的。意為將第二個引數(一般是陣列)中的每乙個項,處理為第乙個引數的型別。比如如下的**,將a這個list的每一項都從int型別轉化為str型別。
#-*-coding:utf-8-*-
a=[1,2,3];
print map(str,a);
執行結果如下:
[『1』,』2』,』3』]
而如下的陣列,則對a這個二維陣列中的每乙個項的一維陣列進行求和操作,最後得出來自然是乙個一維陣列,因為每乙個項的一維陣列,轉化為乙個int。
#-*-coding:utf-8-*-
a=[[1,3,4],[2,3,2]];
print map(sum,a);
執行結果如下:
[8,7]
比如下述的一段**:
#-*-coding:utf-8-*-
x=[1,2,3];
y=[4,5,6];
z=[7,8,9];
print zip(x,y,z);
輸出結果:
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]
意思是取各個list的第x項,作為返回的二維陣列的第x項中的一維陣列中的元素。
其實zip還是反過來會這個二維陣列操作,但要注意寫成zip(*),表示這是乙個zip的逆操作。
比如下述的一段**:
# -*-coding:utf-8-*-
array=[[1,4,7],[2,5,8],[3,6,9]];
x,y,z=zip(*array);
print x,y,z;
執行結果:
(1, 2, 3) (4, 5, 6) (7, 8, 9)
因此對於乙個陣列的轉置,**如下:
# -*-coding:utf-8-*-
array = [[1, 4], [2, 5], [3, 6]];
print map(list, zip(*array));
執行結果:
[[1, 2, 3], [4, 5, 6]]
python的map和zip操作
如果要將乙個string list轉換成int list list裡每個string都轉成int 比如 python 0 1 2 0,1,2 可以使用 python int x for x in list 或者使用map操作 map func,list 對list裡的每個元素apply func.p...
python中map 與zip 操作方法
對於map 它的原型是 map function,sequence 就是對序列sequence中每個元素都執行函式function操作。比如之前的a,b,c map int,raw input split 意思就是說把輸入的a,b,c轉化為整數。再比如 a 1 2 3 4 print map lis...
python中map和zip的用法
1,map 是python的乙個內建函式,它接收乙個函式和乙個可迭代物件 如列表 作為引數,用函式處理每個元素,然後返回新的列表。l1 1 2 3 4 5 print map int,l1 輸出 1,2,3,4,5 print map lambda x int x 2,l1 輸出 2,4,5,8,1...