Python filter函式的幾個例子

2021-10-04 15:29:33 字數 919 閱讀 7523

關於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...