python 的map與zip 函式

2021-08-20 03:06:06 字數 1139 閱讀 2678

首先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...