69-Python的匿名函数1

Python的匿名函数和filter:

from random import randint

def func1(x):
    return x % 2

if __name__ == '__main__':
    alist = [randint(1, 100) for i in range(10)]
    print(alist)
    # filter要求第一个参数是函数,该函数必须返回True或False
    # 执行时把alist的每一项作为 func1的参数,返回真留下,否则过滤掉
    # filter函数的参数又是函数,称作高阶函数
    result = filter(func1, alist)  # 不使用匿名函数
    print(list(result))
    result2 = filter(lambda x: x % 2, alist)  # 匿名函数,不使用常规函数
    print(list(result2))

结果输出:

[64, 12, 27, 33, 23, 26, 15, 33, 77, 82]
[27, 33, 23, 15, 33, 77]
[27, 33, 23, 15, 33, 77]

 

posted @ 2019-06-03 10:06  hejp  阅读(177)  评论(0编辑  收藏  举报