zoukankan      html  css  js  c++  java
  • 匿名函数与内置函数配合使用

    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)

  • 相关阅读:
    session的一个问题
    (Struts)ActionForm类及表单数据验证
    javaee添加验证码
    struts的上传和下载
    logic标签用法
    jstl标签用法
    bean标签
    /WEB-INF/userManage.jsp(31,82) Unterminated ${ tag
    自定义EL
    jstl
  • 原文地址:https://www.cnblogs.com/h1227/p/12574967.html
Copyright © 2011-2022 走看看