Python之Map高階函式

2021-08-10 09:00:52 字數 882 閱讀 9364



map()函式

map()是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。

例如,對於list [1, 2, 3, 4, 5, 6, 7, 8, 9]

如果希望把list的每個元素都作平方,就可以用map()函式:

因此,我們只需要傳入函式f(x)=x*x,就可以利用map()函式完成這個計算:

def f(x):

return x*x

print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])

輸出結果:

[1, 4, 9, 10, 25, 36, 49, 64, 81]

注意:map()函式不改變原有的 list,而是返回乙個新的 list。

利用map()函式,可以把乙個 list 轉換為另乙個 list,只需要傳入轉換函式。

由於list包含的元素可以是任何型別,因此,map() 不僅僅可以處理只包含數值的 list,事實上它可以處理包含任意型別的 list,只要傳入的函式f可以處理這種資料型別。

任務假設使用者輸入的英文名字不規範,沒有按照首字母大寫,後續字母小寫的規則,請利用map()函式,把乙個list(包含若干不規範的英文名字)變成乙個包含規範英文名字的list:

輸入:['adam', 'lisa', 'bart']

輸出:['adam', 'lisa', 'bart']

def format_name(s):

s1=s[0:1].upper()+s[1:].lower();

return s1;

print map(format_name, ['adam', 'lisa', 'bart'])

Python高階函式 map

map 函式原型 map 函式,序列 用法 map將傳入的函式依次作用到序列的每個元素,並把結果作為新的序列返回。eg 1 使用map實現f x x x,x是list 1,2,3,4 def f x return x x.r map f,1 2,3 4 list r 1,4,9,16 2 把list...

Python高階函式之map與reduce

python為我們提供了多種高階函式,map fun,x 的作用是將fun函式依次作用到x這種iterable型別上,並且返回乙個iterator型別。那麼什麼是iterable和iterator呢?簡單的說,反是可用於for迴圈的物件 諸如list,tuple,dict,str 被稱為iterab...

Python高階函式 map和reduce

map fn,lsd fn 是乙個函式,可以使自己定義的,也可以是python內建的函式 lsd 是乙個序列 功能 依次將lsd中的元素作用到fn上 屬於惰性序列通過map函式進行處理,將字串型的列表裝換稱整型列表。l 1 2 3 4 5 def func key dict1 return dict...