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
的類(lèi)型)返回。
示例:
''' 學(xué)習(xí)中遇到問(wèn)題沒(méi)人解答?小編創(chuàng)建了一個(gè)Python學(xué)習(xí)交流群:531509025 尋找有志同道合的小伙伴,互幫互助,群里還有不錯(cuò)的視頻學(xué)習(xí)教程和PDF電子書(shū)! ''' 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)從全局名稱(chē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電子書(shū)! ''' 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)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python從list類(lèi)型、range()序列簡(jiǎn)單認(rèn)識(shí)類(lèi)(class)【可迭代】
這篇文章主要介紹了Python從list類(lèi)型、range()序列簡(jiǎn)單認(rèn)識(shí)類(lèi)(class),結(jié)合實(shí)例形式分析了list、range及自定義類(lèi)等可迭代數(shù)據(jù)類(lèi)型相關(guān)使用技巧,需要的朋友可以參考下2019-05-05Python實(shí)現(xiàn)抓取頁(yè)面上鏈接的簡(jiǎn)單爬蟲(chóng)分享
這篇文章主要介紹了Python實(shí)現(xiàn)抓取頁(yè)面上鏈接的簡(jiǎn)單爬蟲(chóng)分享,本文使用了一個(gè)開(kāi)源模塊requests實(shí)現(xiàn)需求,需要的朋友可以參考下2015-01-01Python3實(shí)現(xiàn)將文件樹(shù)中所有文件和子目錄歸檔到tar壓縮文件的方法
這篇文章主要介紹了Python3實(shí)現(xiàn)將文件樹(shù)中所有文件和子目錄歸檔到tar壓縮文件的方法,涉及Python3使用tarfile模塊實(shí)現(xiàn)tar壓縮文件的技巧,需要的朋友可以參考下2015-05-05python進(jìn)程管理工具supervisor使用實(shí)例
這篇文章主要介紹了python進(jìn)程管理工具supervisor使用實(shí)例,本文介紹了supervisor的安裝、配置、使用等內(nèi)容,需要的朋友可以參考下2014-09-09使用Python向C語(yǔ)言的鏈接庫(kù)傳遞數(shù)組、結(jié)構(gòu)體、指針類(lèi)型的數(shù)據(jù)
今天小編就為大家分享一篇關(guān)于使用Python向C語(yǔ)言的鏈接庫(kù)傳遞數(shù)組、結(jié)構(gòu)體、指針類(lèi)型的數(shù)據(jù),小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-01-01淺談Python數(shù)學(xué)建模之整數(shù)規(guī)劃
整數(shù)規(guī)劃并不一定是線性規(guī)劃問(wèn)題的變量取整限制,對(duì)于二次規(guī)劃、非線性規(guī)劃問(wèn)題也有變量取整限制而引出的整數(shù)規(guī)劃。但在數(shù)學(xué)建模問(wèn)題中所說(shuō)的整數(shù)規(guī)劃,通常是指整數(shù)線性規(guī)劃。整數(shù)規(guī)劃與線性規(guī)劃的差別只是變量的整數(shù)約束。選擇簡(jiǎn)單通用的編程方案,讓求解器去處理吧2021-06-06python中的繼承機(jī)制super()函數(shù)詳解
這篇文章主要介紹了python中的繼承機(jī)制super()函數(shù)詳解,super 是用來(lái)解決多重繼承問(wèn)題的,直接用類(lèi)名調(diào)用父類(lèi)方法在使用單繼承的時(shí)候沒(méi)問(wèn)題,但是如果使用多繼承,會(huì)涉及到查找順序、重復(fù)調(diào)用等問(wèn)題,需要的朋友可以參考下2023-08-08Python 正則表達(dá)式入門(mén)(初級(jí)篇)
本文主要為沒(méi)有使用正則表達(dá)式經(jīng)驗(yàn)的新手入門(mén)所寫(xiě)。由淺入深介紹了Python 正則表達(dá)式,有需要的朋友可以看下2016-12-12