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)
  • 相关阅读:
    OpenMP并行编程
    visual studio 2005 编fortran程序,运行后dos窗口显示问题
    在fortran下进行openmp并行计算编程
    Intel Visual Fortran Compiler 11调用lapack库实现并行多处理计算
    C#数组的排序
    [转载]:Endnote 自定义style文件的默认位置
    正则表达式语法
    EFDC主控文件efdc.inp文件的xml格式化处理——转载http://blog.sina.com.cn/s/articlelist_1584892573_0_1.html
    Delphi 的绘图功能[1]
    根据点集合画曲线(贝塞尔)
  • 原文地址:https://www.cnblogs.com/LYPZX/p/13429828.html
Copyright © 2011-2022 走看看