美文网首页
Python学习:匿名函数

Python学习:匿名函数

作者: 倔犟的贝壳 | 来源:发表于2021-11-06 09:35 被阅读0次

    lambda匿名函数
    如果一个函数只有一行,且只需使用一次用完之后就可以弃掉,此时就可以使用匿名函数(还可以省去给函数取个名称的烦恼,当然最重要的还是使代码更加简洁)。
    lambda是一个表达式,并不是一个语句
    lambda常和map(),filter(),reduce()一起使用
    map()函数
    map(function,iterable),表示对iterable中的每个元素,都运用function这个函数,最后返回一个新的迭代对象。

    #对数组中的每个元素求平方
    squared = map (lambda x:x**2 ,[1,2,3,4,5])
    list(squared)
    

    filter()函数
    filter(function,iterable),表示对iterable中的每个元素,都使用function判断,并返回True或者False,最后将返回True的元素组成一个新的可迭代对象返回。

    #返回数组中的偶数
    l = [1,2,3,4,5]
    new_list = filter(lambda x:x%2==0,l)
    for n in new_list:
        print(n)
    

    reduce()函数
    reduce(function,iterable),通常用来对一个集合做一些累积操作。
    function是一个函数对象,规定它有两个参数,表示对iterable中的每个元素及上一次调用后的结果,运用function进行计算,最后返回的是一个单独的数值。其效果如:

    reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)

    from functools import reduce
    l = [1,2,3,4,5]
    reduce(lambda x,y:x*y,l)
    

    上述其实实现了5的阶乘

    相关文章

      网友评论

          本文标题:Python学习:匿名函数

          本文链接:https://www.haomeiwen.com/subject/sgnxzltx.html