python中幾個(gè)常用函數(shù)的正確用法-lambda/filter/map/reduce
lambda/filter/map/reduce這幾個(gè)函數(shù)面試中很肯定會(huì)用到,本篇主要介紹這幾個(gè)函數(shù)的用法。
1 lambda
匿名函數(shù),用法如下:
# lambada 參數(shù),參數(shù),參數(shù) : 返回的表達(dá)式
示例1:
f = lambda x, y: x * y print(f(2, 3)) # 6
示例2:
r = (lambda x, y: x+y)(1, 2) print(r) # 3
2 filter
filter(function, sequence):對(duì)sequence中的item依次執(zhí)行function(item) ,將執(zhí)行結(jié)果為 True 的item組成一個(gè)filter對(duì)象(可迭代)(取決于sequence的類型)返回。
示例:
''' 學(xué)習(xí)中遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' def gt_5(x): return x > 5 r = filter(gt_5, range(10)) print(list(r))# [6, 7, 8, 9]
3 map
map(function, sequence):對(duì)sequence中的item依次執(zhí)行function(item) ,見(jiàn)執(zhí)行結(jié)果組成一個(gè)map對(duì)象(可迭代)返回。
示例:
def mysum(x, y): return x + y r = map(mysum, range(5), range(5, 10)) print(list(r))# [5, 7, 9, 11, 13]
4 reduce
python3中,reduce已經(jīng)從全局名稱空間里移除,需要從functiontools中導(dǎo)入。
reduce(function, sequence, starting_value):對(duì)sequence中的item順序迭代調(diào)用function,如果有starting_value,還可以作為初始值。
示例:
''' 學(xué)習(xí)中遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書! ''' def mysum(x, y): return x + y from functools import reduce r = reduce(mysum, range(10)) print(r) # 45
5 聯(lián)合使用
示例:計(jì)算1!+2!+...+10!
def factorial(n): if n == 1: return 1 return n*factorial(n-1) r = reduce(lambda x, y: x + y, map(factorial, range(1, 11))) print(r) # 4037913
這就是幾個(gè)函數(shù)的用法了,是不是很簡(jiǎn)單呢?
到此這篇關(guān)于python中幾個(gè)常用函數(shù)的正確用法-lambda/filter/map/reduce的文章就介紹到這了,更多相關(guān)python常用函數(shù)的正確用法lambda filter map reduce內(nèi)容請(qǐng)搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信