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

    1.什么是匿名函数

      def定义的是有名函数:特点是可以通过名字重复调用

        def func():#func=函数的内存地址

          pass

      匿名函数就是没有名字的函数:特点是只能在定义时使用一次

    2.为何要用匿名函数

      强调:

        匿名函数的定义就相当于只产生一个变量值,而没有绑定任何名字,

        所以会在定义完之后就被回收,无法重复使用,只能在定义时使用一次

      应用:当某一个功能仅使用一次就没有再重复使用的必要了,就应该定义成匿名函数

    3.如何用匿名函数

    max:

    salaries={'egon':3000,
              'lii':5000,
              'yyh':10000}
    
    
    取最大值:
    print(max(salaries,key=lambda k:salaries[k]))
    取最小值
    print(min(salaries,key=lambda k:salaries[k]))
    View Code

    sorted排序:

    salaries={'egon':3000,
              'lii':5000,
              'yyh':10000}
    
    
    从小到大
    print(sorted(salaries,key=lambda k:salaries[k]))
    从大到小
    print(sorted(salaries,key=lambda k:salaries[k],reverse=True))
    View Code

    map:

    names = ['alex', 'wupeiqi', 'yuanhao', 'kevin', 'hu老师']
    
    列表生成式:
    new_names=[name + 'sb' for name in names]
    print(new_names)
    
    map+匿名函数:
    res = map(lambda x :x+'sb',names)
    print(list(res))
    View Code

    reduce:

    from functools import reduce
    print(reduce(lambda x,y:x+y,[i for i in range(101)]))
    print(reduce(lambda x,y:x+y,['h','e','l','l','o'],'----------'))
    View Code

    filter:筛选

    names = ['alex_dsb', 'wxx_sb', 'kevin_sb', 'hu_sb', 'egon']
    
    new_names = [name for name in names if name.endswith('sb')]
    print(new_names)
    View Code
  • 相关阅读:
    C#6.0新语法
    C#泛型详解
    C#下Hashtable和Dictionary之间的差别
    C#中HashTable的用法
    MySQL日志
    MySQL创建数据表并建立主外键关系
    MySQL函数的使用
    MySQL实现SQL Server排名函数
    Windows安装SVN服务器和客户端
    Oracle SQL Developer 免费的DB2客户端
  • 原文地址:https://www.cnblogs.com/xiamenghan/p/9767578.html
Copyright © 2011-2022 走看看