python裡的高階函式(類)之filter
阿新 • • 發佈:2018-11-01
filter:過濾
python2中:內建函式
python3中:filter---類
1. filter(function or None, iterable)
過濾掉iterable中為False的所有元素(留下來的為True)
返回一個filter物件
第一個引數:可以是函式,也可以是None
第二個引數:如果第一個引數是None值,則返回iterable中為真的值
如果第一個引數為函式,則返回iterable的元素作為引數的傳遞給函式的,為真的值
要求:函式是一個布林函式(返回值為True或False---零或非零)
False:[] '' None () {} 0 0.0
True:1 非空 非零
例:
# filter
# a=filter(None,[0,1,2,3])
# print(list(a))
def fun(s):
if s=='a':
return False
else:
return True
#a=filter(fun,[0,1,2,3,4,5,6,7,8,9])
a=filter(fun,'abcabbabdabf')
print(list(a))
======================================================
a=filter(lambda x:not x%2,[0,1,2,3,4,5,6,7,8,9])
print(list(a))