Python高階函式 map和reduce

2021-09-13 12:29:41 字數 2358 閱讀 2893

map(fn,lsd)

fn:是乙個函式,可以使自己定義的,也可以是python內建的函式

lsd:是乙個序列

功能:依次將lsd中的元素作用到fn上

屬於惰性序列

通過map函式進行處理,將字串型的列表裝換稱整型列表。

l = ["1","2","3","4","5"]

def func(key):

dict1=

return dict1[key]

res = list(map(func,l))

print(res)

f:\學習**\python**\venv\scripts\python.exe f:/學習**/python**/day6/高階函式---map.py

[1, 2, 3, 4, 5]

process finished with exit code 0

reduce(fn,lsd)

fn:函式

lsd:序列

lsd中的前兩個元素作用到fn上,然後得到乙個結果,將得到的結果再次和第三個元素作用到fn上,依次類推

直到lsd序列中的所有的元素計算完畢為止。

通過reduce函式進行處理,將整型列表裝轉換成乙個整數。

from functools import reduce

l = [1,2,3,4,5,6]

def func(var1,var2):

return var1*10 + var2

res = reduce(func,l)

print(res)

f:\學習**\python**\venv\scripts\python.exe f:/學習**/python**/day6/高階函式---reduce.py

123456

process finished with exit code 0

from functools import reduce

l = ["2","4","6","7"]

res = list(map(int,l))

def func(a,b):

return a*10 + b

res2 = reduce(func,res)

print(res2)

f:\學習**\python**\venv\scripts\python.exe f:/學習**/python**/day6/高階函式---reduce.py

2467

process finished with exit code 0

這個是對列表中的值進行大小寫裝換。 

from functools import reduce

l = ["jack","rose","tom","jaxk"]

def func(var):

return var.capitalize()

res = list(map(func,l))

print(res)

f:\學習**\python**\venv\scripts\python.exe f:/學習**/python**/day6/高階函式---reduce.py

['jack', 'rose', 'tom', 'jaxk']

process finished with exit code 0

對複雜的列表進行提取數字處理。

from functools import reduce

l = ["as3","23fsa","3ft567g",["asd54","4vgtr5","sdfgf"],"sfgd"]

l1 =

for var in l:

if isinstance(var,list):

for i in var:

if isinstance(i,str):

for j in i:

if j.isdigit():

elif isinstance(var,str):

for i in var:

if i.isdigit():

res = list(map(int,l1))

def func(a,b):

return a*10 + b

res1 = reduce(func,res)

print(res1)

f:\學習**\python**\venv\scripts\python.exe f:/學習**/python**/day6/高階函式---reduce.py

32335675445

process finished with exit code 0

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高階函式

map 函式 map 是 python 內建的高階函式,它接收乙個函式 f 和乙個 list,並通過把函式 f 依次作用在 list 的每個元素上,得到乙個新的 list 並返回。例如,對於list 1,2,3,4,5,6,7,8,9 如果希望把list的每個元素都作平方,就可以用map 函式 因此...

Python高階函式之map與reduce

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