python里的高级函数(类)之filter

版权声明:转载请附此链接https://blog.csdn.net/qq_42393859 https://blog.csdn.net/qq_42393859/article/details/83500722

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))

猜你喜欢

转载自blog.csdn.net/qq_42393859/article/details/83500722
今日推荐