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

    # 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)
  • 相关阅读:
    Poj3295 tautology
    Poj2586 每五个月都是亏
    Poj 2109 k^n = p.
    Poj2109 (2) k^n = p.
    Poj2109 (1) k^n = p.
    Poj2965 冰箱的开关
    Poj1328 用雷达覆盖所有的岛屿
    FASTER-RCNN
    卷积、池化计算
    理论感受野的计算
  • 原文地址:https://www.cnblogs.com/LYPZX/p/13429828.html
Copyright © 2011-2022 走看看