關於filter函式的語法介紹可參照:菜鳥教程filter函式
首先看一下菜鳥教程的例子
# 篩選奇數
defis_odd
(n):
return n %2==
1#filter返回的是乙個迭代器
tmplist =
filter
(is_odd,[1
,2,3
,4,5
,6,7
,8,9
,10])
newlist =
list
(tmplist)
print
(newlist)
#output:[1, 3, 5, 7, 9]
再看乙個在github中看到的例子:
items1 =
list
(map
(lambda x: x **2,
filter
(lambda x: x %2,
range(1
,10))
))print
(items1)
#output:[1, 9, 25, 49, 81]
這個例子我用自己語言解釋一下:lambda x: x % 2
的作用是輸入乙個x
,會對應輸出x % 2
的,0或1。filter(lambda x: x % 2, range(1, 10))
的作用是把1到9中的奇數(lambda表示式輸出1時會判為true,從而被filter出來)取出作為乙個迭代器。map函式將lambda x: x ** 2
這個函式應用在剛才生成的那個迭代器上,並返回乙個迭代器。最後通過list函式將迭代器轉化為陣列。。。說的有點亂。。 Python filter 函式的使用
描述 filter 函式用於過濾序列,過濾掉不符合條件的元素,返回乙個迭代器物件,如果要轉換為列表,可以使用 list 來轉換。該接收兩個引數,第乙個為函式,第二個為序列,序列的每個元素作為引數傳遞給函式進行判,然後返回 true 或 false,最後將返回 true 的元素放到新列表中。語法 以下...
python filter到函式式程式設計
filter function,iterable 高階函式,可以用來過濾能迭代的物件。關鍵是可以定製自己的過濾函式。返回乙個迭代物件 python3.x import math def is sqr x return math.sqrt x 1 0 tmplist filter is sqr,ran...
Python filter函式筆記(一)
在雪峰前輩的filter教程中是如此介紹filter函式的 filter 把傳入的函式依次作用於每個元素,然後根據返回值是true還是false決定保留還是丟棄該元素。詳細來說是這個樣子 具有篩選功能 可返回true和false的函式 def not empty s return s and s.s...