python 内置函数filter
发布时间:2020-05-24 12:38:17 所属栏目:Python 来源:互联网
导读:python内置函数filterclassfilter(object):"""filter(functionorNone,iterable)--filterobjectReturnaniteratoryieldingthoseitemsofiterableforwhichfunction(item)
|
python 内置函数filter class filter(object): """ filter(function or None,iterable) --> filter object Return an iterator yielding those items of iterable for which function(item) is true. If function is None,return the items that are true. """ filter(func,iterator) func:自定义或匿名函数中所得值是布尔值,true将保留函数所取到的值,false则取反。 例: 过滤列表['text_test_text','test_text_1','text_test_2','3_test_text','test_test'] s.rfind'text'+1 Python3中 rfind() 返回字符串最后一次出现的位置,如果没有匹配项则返回-1。 # Filter
li = ['text_test_text','test_test']
# 默认保留函数所取到的值
print(list(filter(lambda s: s.rfind('text') + 1,li)))
# 取反,下三个例子是一样的
print(list(filter(lambda s: not s.rfind('text') + 1,li)))
# Noe 自定义函数
l1 = ['text_test_text','test_test']
def distinguish(l):
nl = []
for s in l:
if s.rfind("text") + 1:
nl.append(s)
return nl
print(distinguish(l1))
# Two 自定义高阶函数
l2 = ['text_test_text','test_test']
def f(s):
return s.rfind('text') + 1
def distinguish(func,array):
nl = []
for s in array:
if func(s):
nl.append(s)
return nl
print(distinguish(f,l2))
# Three 匿名函数
l3 = ['text_test_text','test_test']
def distinguish(func,array):
nl = []
for s in array:
if func(s):
nl.append(s)
return nl
print(distinguish(lambda s: s.rfind('text') + 1,l3))
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持! (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
