Python中filter與lambda的結合使用

2021-08-06 02:39:08 字數 1057 閱讀 2633

filter是python的內建方法。官方定義是:

filter(function or

none, sequence) -> list, tuple, or string

return those items of sequence for which function(item) is true. if function is

none, return the items that are true. if sequence is a tuple or string, return the same type, else

return a list.

第乙個引數為none的情形:

filter(none, '101') # '101'

filter(none, [true,false]) #[true]

filter(none, [true, 0, 1, -1]) #[true, 1, -1]

filter(none, (true, 1, 0, -1, false)) #(true, 1, -1)

第乙個引數為function的情形,如果function(item)為true,則滿足過濾條件。此時的lambda函式的形式是:lambda x: expression(x)。注意到,:左邊只能有乙個元素x:右邊為乙個關於x的表示式,且這個表示式的值要麼是true, 要麼是false.

filter(lambda x: x, [-1, 0, 1]) #[-1, 1]

filter(lambda x: not x, [-1, 0, 1]) #[0]

deff

(x):

return

true

if x == 1

else

false

filter(lambda x: f(x), [-1, 0, 1]) #[1]

python中的filter 函式

接收兩個引數,乙個函式 f和乙個list,這個函式 f對list中 的每個元素進行判斷,返回true或false,filter 根據判斷結果自動過濾掉不符合條件的元素,返回由符合條件的元素組成的新的list。舉個例子 例如,要從乙個list 1,4,6,7,9,12,17 中刪除偶數,保留奇數,首先...

python中的filter 函式

1.語法 filter 函式用於過濾序列,過濾掉不符合條件的元素,返回符合條件的元素組成新列表 filter function,fiterable function 函式,fiterable為序列序列中的每個元素作為引數傳遞給函式進行判斷,返回true或者false,最後將會返回true的元素放到新...

python中的filter 函式

filter 函式用於過濾序列,過濾掉不符合條件的元素,返回符合條件的元素組成新列表。filter 語法如下 filter function,iterable 其中function為函式,iterable為序列 序列中的每個元素作為引數傳遞給函式進行判斷,返回true或者false,最後將返回tru...