filter函數:
-
循環幫你調用函數
-
幫你過濾你傳入的參數,函數的結果返回的是true那就保存,返回false就不要,且返回的也是迭代器
備注:迭代器用完一個就扔掉一個,直到全部用完,且需要一個list接一下,否則返回的是對象
格式: filter(function, iterable)
function -- 判斷函數
iterable -- 可迭代對象
#先寫一個函數,作用是做True和False的判斷 def judgment(a): return a%2 == 0 #要求可以給2整除,因為這種真假函數都比較小,所以很多地方會用lambda來寫 oldlist = [1,2,3,4,5,6,7,8,9,10] newlist = filter(judgment,oldlist) print(list(newlist)) #用list承接filter的函數返回,並打印出新的符合條件的列表 #下面用lambda來簡潔一下上面的程序,把oldlist也通過算法生成 print(list(filter(lambda a:a%2==0,range(1,11))))
上面代碼輸出結果為:
[2, 4, 6, 8, 10]
[2, 4, 6, 8, 10]
你看懂了嗎?