1. 程式人生 > 程式設計 >filter使用python3程式碼進行迭代元素的例項詳解

filter使用python3程式碼進行迭代元素的例項詳解

我們通常說使用函式對列表進行篩選,有多少小夥伴能夠理解篩選的原理呢?

今天小編為大家帶來了新朋友filter函式,相較於以往能實現篩選功能的函式來說是複雜的,這也算是對於一些有難度函式學習的考驗。我們會著重於探討filter函式篩選後的返回值,對於返回值的迭代進行一些原理的分析。

filter用於過濾篩選可迭代物件中的元素,如果符合條件則返回對應的元素序列(型別為filter),filter接受兩個引數,一個是函式用於篩選元素,返回值為True或Flase,另一個是可迭代物件。

filter用法

evens = filter(is_odd,range(-5,10))
print(list(evens))

示例結果:

[2,4,6,8]

filter函式的返回值是一個可迭代物件,這一點很關鍵,這也是為什麼我說filter函式是高階語法的原因。

為什麼不返回列表?如果返回的是列表,那麼在filter函式執行過程中,就必須對列表裡的每一個數據進行對2取模運算,這樣很浪費空間,因此filter在實現時採用了迭代器技術,將計算延遲到對filter函式返回結果進行遍歷時才進行。

到此這篇關於filter使用python3程式碼進行迭代元素的例項詳解的文章就介紹到這了,更多相關filter如何使用python3程式碼進行迭代元素內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!