print max(filter(lambda x: 555555 % x == 0, range(100, 999)))
代碼的意思是輸出 555555 大的三位數(shù)的約數(shù)是多少。
創(chuàng)新互聯(lián)建站從2013年開始,先為渭源等服務(wù)建站,渭源等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為渭源企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。首先,這段代碼的第一個知識點是python的內(nèi)置函數(shù) filter
filter()函數(shù),是用來過濾列表的。最簡單的說法就是 用一個函數(shù)來過濾一個列表,把列表的每一項傳遞進入過濾函數(shù),過濾函數(shù)返回false就從這個列表中刪除該項。
filter()函數(shù)包括兩個參數(shù), function和list。即該函數(shù)根據(jù)function參數(shù)返回的結(jié)果是否為真來過濾list參數(shù)中的項,最后返回一個新的列表。
簡單來講,filter()函數(shù)相當于下面的代碼:
c = [b for b in a1 if b > 2]
print c
第二個知識點是 lambda()函數(shù)
Python支持這種語法,它允許用戶快速定義單行的最小函數(shù),這些叫做 lambda的函數(shù),是從Lisp借用來的。
def f(x):
return x * 2
g= lambda x: x * 2
(lambda x: x * 2)(3)
根據(jù)代碼可以看到,lambda函數(shù)完成了普通函數(shù)相同的事情,并且,lambda在參數(shù)列表周圍沒有括號,并且忽略了return關(guān)鍵字(return隱含存在,因為整個函數(shù)只有一行,且該函數(shù)沒有名稱,但可以將它賦值給一個變量進行調(diào)用)
最后一段代碼展示了lambda函數(shù)只是一個內(nèi)聯(lián)函數(shù)。