zoukankan      html  css  js  c++  java
  • python函数-匿名函数

    1,匿名函数,故名思意,就是没有名字的函数。

    def fun(x):
    
      return x+x 
    

     

    上述代码的作用就是求x+x的和的函数。如果调用该函数的话,可以使用fun(1)即可。那么lambda函数和上面的这个函数有什么关系?

    r  = lambda x:x+x
    
    r(1)

     

    这个r接受的是一个函数对象,再将值1给函数处理。

    这里的x表示的是函数接受的参数(x)。:后面的表示的是函数的返回值。(return x+x)

    可以发现,2个函数达到的效果是一样的。区别在于上面的函数是有函数名的,下面的函数是没有函数名的。

    2,匿名函数的好处

    1,可以是代码更加简洁

    2,可以不用为取函数名而烦恼

    3,匿名函数经常与高阶函数一起使用。

    3.0,feilter函数,过滤函数,保留返回True的元素。

    获取列表中的偶数

    a=[2,3,4,6,7]
    
    print filter(lambda x:x%2==0,a)

    3.1,map  将可迭代的对象的每个元素都作用函数,最后返回列表。

    将列表中的元素都减1

    a=[2,3,4,6,7]
    
    print map(lambda x:x-1,a)
    

     

    3.2,reduce 需要传入2个参数,一般用于累加或者累乘。(python3版本不存在!)

    获取列表中元素的和

    a=[2,3,4,6,7]
    
    print reduce(lambda x,y:x+y,a)
    

      

    3.3 sorted 排序函数

    d = dict(a=100,b=10,c=20,d=11)
    print(d)
    print(d.items())
    print(sorted(d.items(),key =lambda d:d[0],reverse=False))
  • 相关阅读:
    547. Friend Circles
    399. Evaluate Division
    684. Redundant Connection
    327. Count of Range Sum
    LeetCode 130 被围绕的区域
    LeetCode 696 计数二进制子串
    LeetCode 116 填充每个节点的下一个右侧节点
    LeetCode 101 对称二叉树
    LeetCode 111 二叉树最小深度
    LeetCode 59 螺旋矩阵II
  • 原文地址:https://www.cnblogs.com/lin1/p/8206588.html
Copyright © 2011-2022 走看看