如果要將乙個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.
[python]
map(int, list)
假設有乙個2維陣列(用list實現):
[python]
list = [[0,1,2],[3,1,4]]
如果要得到每行之和,可以用以下兩種方式:
[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,6]
>>> zipped = zip(x,y)
>>> zipped
[(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學習筆記 zip 和map
zip函式 zip seq1,seq2,zip 是python的乙個內建函式,它接受一系列可迭代的物件作為引數,將物件中下標對應的元素打包成乙個個tuple 元組 然後返回由這些tuples組成的list 3.x版本返回乙個生成器 若傳入引數的長度不等,則返回list的長度和引數中長度最短的物件相同...
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 iterable,引數說明 iterable,乙個或多個迭代器 zip 函式用於將可迭代的物件作為引數,將物件中對應的元素打包成乙個個元組,然後返回由這些元組組成的列表。如果各個迭代器的元素個數不一致,則返回列表長度與最短的物件相同,利用 號操作符,可以將元組解壓為列表。zip 函...