python中map 與zip 操作方法

2022-10-04 22:03:45 字數 1524 閱讀 6290

對於map()它的原型是:map(function,sequence),就是對序列sequence中每個元素都執行函式function操作。

比如之前的a,b,c = map(int,raw_input().split()),意思就是說把輸入的a,b,c轉化為整數。再比如:

a = ['1','2','3','4']

print map(list,a)

print map(int,a)

第乙個map是把列表a中每個元素轉化為列表,第二個macrrkrzehp是把a中每個元素轉化為整數。

而對於zip(),原型是zip(*list),list是乙個列表,zip(*list)返回的是乙個元組,比如:

list = [[1,2,3],[4,5,6],[7,8,9]]

t = zip(*list)

print t

輸出:[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

x = [1,2,3,4,5]

y = [6,7,8,9,10]

a = zip(x,y)

print a

輸出:[(1, 6), (2, 7), (3, 8), (4, 9), (5, 10)]

下面是一些補充:

[python]

>>> list = [[0,1,2],[3,1,4]]

>>> [sum(x) for x in list]

[3, 8]

>>> map(sum,list)

[3, 8]

如果要得到每列之和,需要用zip(*list)先unzip list,得到乙個元組list,其中第i個元組包含了每行的第i個元素:

[python]

>>> list = [[0,1,2],[3,1,4]]

>>> zip(*list)

[(0, 3), (1, 1), (2, 4)]

>>> [sum(x) for x in zip(*list)]

[3, 2, 6]

>>> map(sum,zip(*list))

[3, 2, 6]

下面的例子是關於zip和unzip(其實是zip和*一起用)如何work的:

[python]

>>> x=[1,2,3]

>>> y=[4,5,

>>> zippedwww.cppcns.com = zip(x,y)

>>> zipped

[crrkrzeh(1, 4), (2, 5), (3, 6)]

>>> x2,y2=zip(*zipped)

>>> x2

(1, 2, 3)

>>> y2

(4, 5, 6)

>>> x3,y3=map(list,zip(*zipped))

>程式設計客棧;>> x3

[1, 2, 3]

>>> y3

[4, 5, 6]

本文標題: python中map()與zip()操作方法

本文位址:

python 的map與zip 函式

首先python中的map函式是很簡單的。意為將第二個引數 一般是陣列 中的每乙個項,處理為第乙個引數的型別。比如如下的 將a這個list的每一項都從int型別轉化為str型別。coding utf 8 a 1,2,3 print map str,a 執行結果如下 1 2 3 而如下的陣列,則對a這...

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

python中並行遍歷 zip和map 轉

1 並行遍歷 zip 和map 內建的zip 函式可以讓我們使用 for迴圈來並行使用多個序列。在基本運算中,zip會取得乙個或多個序列為引數,然後返回元組的列表,將這些序列中的併排的元素配成對。示例一 l1 1,2,3,4 l2 5,6,7,8 要合併這些列表中的元素,可以使用zip 來建立乙個元...