您好,登錄后才能下訂單哦!
原型:map(function, sequence),作用是將一個(gè)列表映射到另一個(gè)列表
map()函數(shù)接收兩個(gè)參數(shù),一個(gè)是函數(shù),一個(gè)是Iterable,
map將傳入的函數(shù)依次作用到序列的每個(gè)元素,并把結(jié)果作為新的Iterator返回。
def f(x):
y = x * x
return y
r = map(f, range(10))
print(r)
print(list(r))
print(list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9])))
原型:reduce(function, sequence, startValue),作用是將一個(gè)列表歸納為一個(gè)輸出
reduce把一個(gè)函數(shù)作用在一個(gè)序列[x1, x2, x3, ...]上,這個(gè)函數(shù)必須接收兩個(gè)參數(shù),
reduce把結(jié)果繼續(xù)和序列的下一個(gè)元素做累積計(jì)算,其效果就是:
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
from functools import reduce
def add(x, y):
z = x + y
print("{0}+{1}={2}".format(x, y, z))
return z
print(reduce(add, range(10)))
原型:filter(function, sequence),作用是按照所定義的函數(shù)過(guò)濾掉列表中的一些元素,
使用方法:
def f2(x):
return x%2 != 0
list(filter(f2, range(10)))
Out[3]: [1, 3, 5, 7, 9]
記?。哼@里的function必須返回布爾值。
原型:lambda <參數(shù)>: 函數(shù)體,隱函數(shù),定義一些簡(jiǎn)單的操作,
使用方法:
f3 = lambda x: x**2
f3(2)
Out[10]: 4
還可以結(jié)合map、reduce、filter來(lái)使用,如:
list(map(f3,range(10)))
Out[11]: [1, 4, 9, 16, 25, 36, 49, 64, 81]
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。