map:根據(jù)函數(shù)對指定序列做映射
map
參數(shù)
接收兩個(gè)參數(shù):一個(gè)是函數(shù),一個(gè)是序列(可迭代對象)
返回值
Python2返回列表
python3返回迭代器
#例子:
#abs()函數(shù)返回?cái)?shù)字的絕對值
#新的內(nèi)容的個(gè)數(shù)等于原內(nèi)容的個(gè)數(shù)
#ret=map(abs,[-1,-5,6,-7])
#print(list(ret))
#[1,5,6,7]
filter:過濾函數(shù)新的內(nèi)容少于等于原內(nèi)容的時(shí)候。才能使用filter
filter()函數(shù)用于過濾序列,過濾不符合條件的元素,返回由符合條件元素組成的心列表
參數(shù):
function函數(shù)
iterable可迭代對象
返回值:
返回列表
#篩選大于10的數(shù)
defis_odd(x):
ifx>10:
returnTrue
ret=filter(is_odd,[1,4,5,7,8,9,76])#為迭代器
print(list(ret))
#[76]
reduce:對于序列內(nèi)所有元素進(jìn)行累計(jì)操作
'''
reduce()函數(shù)
reduce()函數(shù)會對參數(shù)序列中元素進(jìn)行累積
函數(shù)將一個(gè)數(shù)據(jù)集合(鏈表、元組等)中的所有數(shù)據(jù)進(jìn)行下列操作
'''
fromfunctoolsimportreduce
defadd(x,y):
returnx+y
print(reduce(add,[1,2,3,4,5]))
#15
print(reduce(lambdax,y:x+y,[1,2,3,4,5]))#15
print(reduce(add,range(1,101)))
#5050
以上內(nèi)容為大家介紹了python內(nèi)置函數(shù):map、reduce、filter的用法和區(qū)別,希望對大家有所幫助,如果想要了解更多Python相關(guān)知識,請關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。