[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

Exit mobile version