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


    '''
    匿名函数:
    注意:
    1,不会单独使用,会与其他函数配合使用,
    2,匿名函数的精髓在于没有名字,如果没有名字意味着用一次就立刻回收
    所以匿名函数的应用场景就仅应用于值使用一次的场景

    配合使用的内置函数:max min sorted filter map

    需求:有一个字典,求出最大工资的那个人民
    salaries = {
    'egon':3000,
    'alex':1000000,
    'wupeiqi':100001111,
    'yuanhao':2000
    }
    ##传统做法
    for k,v in salaries.items():
    if v == max(salaries.values()):
    print(k)
    ####用匿名函数的做法
    print(max(salaries,key= lambda x:salaries[x]))
    # print(min(salaries,key= lambda x:salaries[x]))

    按照薪资排序,从小到大牌
    print(sorted([1,3,5,1,2,4,5,8,9]))

    print(sorted(salaries,key=lambda x:salaries[x]))

    map的作用:映射
    应用:
    names = ['alex','wupeiqi','yuanhao','liuqingzheng']
    obj = map(lambda x:x+'_sb',names)
    print(obj)
    print(obj.__next__())
    print(list(obj))

    filter的应用:过滤
    names = ['wupeiqi_sb', 'yuanhao_sb', 'liuqingzheng_sb','egon']
    将以SB结尾的过滤掉
    ##需求:将names中以sb结尾的移除掉
    names = ['wupeiqi_sb', 'yuanhao_sb', 'liuqingzheng_sb','egon']
    ###传统做法:
    for i in names:
    if i.endswith('sb'):
    names.remove(i)
    print(names)
    ###运用匿名函数的做法:
    names = ['wupeiqi_sb', 'yuanhao_sb', 'liuqingzheng_sb','egon']
    ls = [name for name in names if not name.endswith('sb')]
    print(ls)


    '''
    def func(x,y):
    return x+y

    res = (lambda x,y:x + y)(1,4)
    # print(res)
    # print(lambda x,y:x + y)
    salaries = {
    'egon':3000,
    'alex':100000,
    'wupeiqi':1000,
    'yuanhao':2000
    }
    # print(sorted([1,3,5,1,2,4,5,8,9]))
    # print(sorted(salaries,key=lambda x:salaries[x]))
    # print('='*100)




  • 相关阅读:
    linux开机启动服务的修改与查看
    我从百度来30万IP的经验
    JavaScript静态页面值传递之Cookie篇
    采用HttpModules来重写URLs(实践篇)
    JavaScript,5种调用函数的方法
    [JS]详尽解析window.event对象
    mysql锁定单个表的方法
    mysql常见错误提示及解决方法
    浏览器Chrome 3.0.195.21 Final
    svn windows和linux安装笔记
  • 原文地址:https://www.cnblogs.com/1832921tongjieducn/p/10785804.html
Copyright © 2011-2022 走看看