python中的高階函數(shù)是指能夠接收函數(shù)作為參數(shù)的函數(shù)
python中map()函數(shù)
map()是 Python 內(nèi)置的高階函數(shù)碗誉,它接收一個(gè)函數(shù) f 和一個(gè) list敦腔,并通過(guò)把函數(shù) f 依次作用在 list 的每個(gè)元素上厅缺,得到一個(gè)新的 list 并返回供搀。
例如郊供,對(duì)于list [1, 2, 3, 4, 5, 6, 7, 8, 9]
如果希望把list的每個(gè)元素都作平方甸陌,就可以用map()函數(shù):
因此须揣,我們只需要傳入函數(shù)f(x)=x*x,就可以利用map()函數(shù)完成這個(gè)計(jì)算:
def f(x):
return x*x
print map(f, [1, 2, 3, 4, 5, 6, 7, 8, 9])
輸出結(jié)果:
[1, 4, 9, 10, 25, 36, 49, 64, 81]
注意:map()函數(shù)不改變?cè)械?list钱豁,而是返回一個(gè)新的 list耻卡。
利用map()函數(shù),可以把一個(gè) list 轉(zhuǎn)換為另一個(gè) list牲尺,只需要傳入轉(zhuǎn)換函數(shù)卵酪。
由于list包含的元素可以是任何類型,因此秸谢,map() 不僅僅可以處理只包含數(shù)值的 list凛澎,事實(shí)上它可以處理包含任意類型的 list,只要傳入的函數(shù)f可以處理這種數(shù)據(jù)類型估蹄。
(有時(shí)間繼續(xù)補(bǔ)充...)