• 匿名函数与内置函数配合使用


    3、匿名函数
    lambda :用于定义匿名函数

    匿名用于临时调用一次的场景:更多的是将匿名与其他函数配合使用
    map(映射)
    filter(过滤)
    reduce(加减乘除计算,字符串拼接)
    sorted(排序默认升序)
    max(最大)
    min(最小)



    案例:
    # 1、def用于定义有名函数
    # func=函数的内存地址
    # def func(x,y):
    # return x+y

    # print(func)
    # 2、lamdab用于定义匿名函数
    # print(lambda x,y:x+y)


    # 3、调用匿名函数
    # 方式一:
    # res=(lambda x,y:x+y)(1,2)
    # print(res)

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

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



    salaries={
    'siry':3000,
    'tom':7000,
    'lili':10000,
    'jack':2000
    }
    # 需求1:找出薪资最高的那个人=》lili
    # res=max([3,200,11,300,399])
    # print(res)

    # res=max(salaries)
    # print(res)


    salaries={
    'siry':3000,
    'tom':7000,
    'lili':10000,
    'jack':2000
    }
    # 迭代出的内容 比较的值
    # 'siry' 3000
    # 'tom' 7000
    # 'lili' 10000
    # 'jack' 2000

    # def func(k):
    # return salaries[k]

    # ========================max的应用
    # res=max(salaries,key=func) # 返回值=func('siry')
    # print(res)

    # res=max(salaries,key=lambda k:salaries[k])
    # print(res)

    # ========================min的应用
    # res=min(salaries,key=lambda k:salaries[k])
    # print(res)


    # ========================sorted排序
    # salaries={
    # 'siry':3000,
    # 'tom':7000,
    # 'lili':10000,
    # 'jack':2000
    # }
    res=sorted(salaries,key=lambda k:salaries[k],reverse=True)
    # print(res)

    # ========================map的应用(了解)
    # l=['alex','lxx','wxx','薛贤妻']
    # new_l=(name+'_dsb' for name in l)
    # print(new_l)

    # res=map(lambda name:name+'_dsb',l)
    # print(res) # 生成器
    # ========================filter的应用(了解)
    # l=['alex_sb','lxx_sb','wxx','薛贤妻']
    # res=(name for name in l if name.endswith('sb'))
    # print(res)

    # res=filter(lambda name:name.endswith('sb'),l)
    # print(res)

    # ========================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']) # 'a','b'
    print(res)

  • 相关阅读:
    设计模式之一(策略模式)
    电脑开机进入不了XP界面
    IBM X系列笔记本通过U盘安装系统方法全攻略
    DELPHI 访问其它电脑文件(局域网)
    笔记本维修小插曲 屏幕不亮处理方式
    delphi 笔记
    电脑小子的新婚夜
    如何得到动态链接库的输出函数(delphi tdump.exe)
    sql server重复数据处理
    如何使用jQuery向asp.net Mvc传递复杂json数据Filter篇
  • 原文地址:https://www.cnblogs.com/h1227/p/12574967.html
Copyright © 2020-2023  润新知