[759]python map函數
- 2020 年 2 月 17 日
- 筆記
map()函數的簡介以及語法
map是python內置函數,會根據提供的函數對指定的序列做映射。
map()函數的格式是:
map(function,iterable,…)
第一個參數接受一個函數名,後面的參數接受一個或多個可迭代的序列,返回的是一個集合。
把函數依次作用在list中的每一個元素上,得到一個新的list並返回。注意,map不改變原list,而是返回一個新list。
Python 2.x 返回列表,Python 3.x 返回迭代器。
map()函數實例
def square(x): return x ** 2 map(square,[1,2,3,4,5]) # 結果如下: [1,4,9,16,25]
通過使用lambda匿名函數的方法使用map()函數:
map(lambda x, y: x+y,[1,3,5,7,9],[2,4,6,8,10]) # 結果如下: [3,7,11,15,19]
通過lambda函數使返回值是一個元組:
map(lambdax, y : (x**y,x+y),[2,4,6],[3,2,1]) # 結果如下 [(8,5),(16,6),(6,7)]
當不傳入function時,map()就等同於zip(),將多個列表相同位置的元素歸併到一個元組:
map(None,[2,4,6],[3,2,1]) # 結果如下 [(2,3),(4,2),(6,1)]
通過map還可以實現類型轉換
將元組轉換為list:
map(int,(1,2,3)) # 結果如下: [1,2,3]
將字元串轉換為list:
map(int,'1234') # 結果如下: [1,2,3,4]
提取字典中的key,並將結果放在一個list中:
map(int,{1:2,2:3,3:4}) # 結果如下 [1,2,3]
字元串轉換成元組,並將結果以列表的形式返回
>>> map(tuple, 'agdf') [('a',), ('g',), ('d',), ('f',)]
將小寫轉成大寫
def u_to_l (s): return s.upper() print map(u_to_l,'asdfd')
參考:https://blog.csdn.net/quanlingtu1272/article/details/95482253 https://blog.csdn.net/ctan006/article/details/79657678