print max(filter(lambda x: 555555 % x == 0, range(100, 999)))
代碼的意思是輸出 555555 大的三位數(shù)的約數(shù)是多少。
首先,這段代碼的第一個(gè)知識(shí)點(diǎn)是python的內(nèi)置函數(shù) filter
filter()函數(shù),是用來(lái)過(guò)濾列表的。最簡(jiǎn)單的說(shuō)法就是 用一個(gè)函數(shù)來(lái)過(guò)濾一個(gè)列表,把列表的每一項(xiàng)傳遞進(jìn)入過(guò)濾函數(shù),過(guò)濾函數(shù)返回false就從這個(gè)列表中刪除該項(xiàng)。
filter()函數(shù)包括兩個(gè)參數(shù), function和list。即該函數(shù)根據(jù)function參數(shù)返回的結(jié)果是否為真來(lái)過(guò)濾list參數(shù)中的項(xiàng),最后返回一個(gè)新的列表。
簡(jiǎn)單來(lái)講,filter()函數(shù)相當(dāng)于下面的代碼:
c = [b for b in a1 if b > 2]
print c
第二個(gè)知識(shí)點(diǎn)是 lambda()函數(shù)
Python支持這種語(yǔ)法,它允許用戶快速定義單行的最小函數(shù),這些叫做 lambda的函數(shù),是從Lisp借用來(lái)的。
def f(x):
return x * 2
g= lambda x: x * 2
(lambda x: x * 2)(3)
根據(jù)代碼可以看到,lambda函數(shù)完成了普通函數(shù)相同的事情,并且,lambda在參數(shù)列表周圍沒(méi)有括號(hào),并且忽略了return關(guān)鍵字(return隱含存在,因?yàn)檎麄€(gè)函數(shù)只有一行,且該函數(shù)沒(méi)有名稱,但可以將它賦值給一個(gè)變量進(jìn)行調(diào)用)
最后一段代碼展示了lambda函數(shù)只是一個(gè)內(nèi)聯(lián)函數(shù)。
分享標(biāo)題:python—filter,lambda-創(chuàng)新互聯(lián)
URL鏈接:http://jinyejixie.com/article8/hidop.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、營(yíng)銷型網(wǎng)站建設(shè)、定制開(kāi)發(fā)、外貿(mào)網(wǎng)站建設(shè)、云服務(wù)器、軟件開(kāi)發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容