• 匿名函数


    匿名函数

    1.def用于定义有名函数

    # func = 函数的内存地址
    
    def func(x,y):
        return x,y
    print(func)

    2.lambda用于定义匿名函数

    print(lambda x,y:x+y)

    3.调用匿名函数

    lambda x,y:x+y只是一个内存地址,要加()才能调用

    # 方式1:
    
    res = (lambda x,y:x+y)(1,2)
    print(res)
    # 方式2:
    
    func = lambda x,y:x+y
    res = func(1,2)
    print(res)

    4.匿名函数用于临时调用一次的场景:更多的是将匿名函数与其他函数配合使用

    匿名函数的应用

    1.需求1:找出薪资最高的那个人 ==> lili

    salaries = {
        'siri': 3000,
        'tom': 7000,
        'lili': 10000,
        'jack': 2000
    
    }
    
    # res = max([2,144,7,999])
    # print(res)
    
    # res = max(salaries)        # 默认按照key排序
    # print(res)
    
    输出:tom
    salaries = {
        'siri': 3000,
        'tom': 7000,
        'lili': 10000,
        'jack': 2000
    
    }
    
    # 迭代出的内容    比较的值
    # 'siri'         3000
    # 'tom'          7000
    # 'lili'         10000
    # 'jack'         2000
    
    
    def func(k):
        return salaries[k]
    
    # =======max=======
    res = max(salaries, key=func)   # 返回值 = func('siri')
    print(res)
    
    # =======min=======
    res=min(salaries,key=lambda k:salaries[k])
    print(res)
    
    # =======sorted排序=======
    res = sorted(salaries,key=lambda k:salaries[k])
    print(res)

    map的应用

    l = ['alex', 'lxx', 'wxx', '薛贤奇']
    new_l = (name + 'dsb' for name in l)
    print(new_l)  

    生成器

    l = ['alex', 'lxx', 'wxx', '薛贤奇']
    res = map(lambda name:name + 'dsb',l)
    print(res)    # 生成器
    l = ['alex', 'lxx', 'wxx', '薛贤奇']
    # res = (name for name in l if name.endswith('sb'))
    # print(res)
    
    filter(lambda name:name.endwith('sb'),l)

    reduce的应用

    from functools import reduce
    
    res = reduce(lambda x,y:x+y,[1,2,3],10)     # 16
    print(res)
    
    res = reduce(lambda x,y:x+y,['a','b','c'],'Hello')     # Helloabc
    print(res)
    
    res = reduce(lambda x,y:x+y,['a','b','c'])     # Helloabc
    print(res)

    思维导图(点击链接

  • 相关阅读:
    js rsa sign使用笔记(加密,解密,签名,验签)
    金额的计算
    常用js方法集合
    sourceTree 的使用
    node-- express()模块
    详细讲解vue.js里的父子组件通信(props和$emit)
    Vue -- vue-cli webpack打包开启Gzip 报错
    es6函数的rest参数和拓展运算符(...)的解析
    js中判断对象数据类型的方法
    vue学习之vue基本功能初探
  • 原文地址:https://www.cnblogs.com/zhww/p/12983981.html
Copyright © 2020-2023  润新知