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

    一、匿名函数

    匿名需要关键字lambda
    使用方式:lambda 参数:<代码块>

    匿名函数一般不单独使用,和 filter()/map()/sorted()/min()/max()/列表的sort()内置方法联用

    匿名函数:列表类型内置sort()方法

    salary_dict = {
        'xc': 12300,
        'yx': 10000,
        'll': 2000,
    }
    
    # 列表内置的sort()方法
    salary_list = list(salary_dict.items())	# 先转换成列表,内部的键值对会变成元祖
    print("排序之前",salary_list)
    # sort是在列表内部做排序
    salary_list.sort(key=lambda i:i[1])	# 使用匿名函数,根据列表内元祖的第二个参数做排序条件进行排序
    print("排序之后",salary_list)
    

    排序之前 [('xc', 12300), ('yx', 10000), ('ll', 2000)]
    排序之后 [('ll', 2000), ('yx', 10000), ('xc', 12300)]

    匿名函数:sorted()方法

    salary_dict = {
        'xc': 12300,
        'yx': 10000,
        'll': 2000,
    }
    
    # sorted方法
    salary_list = list(salary_dict.items())	# 先转换成列表,内部的键值对会变成元祖
    print("排序之前",salary_list)
    new_salary_list = sorted(salary_list, key=lambda i: i[1])  # 重新创建一个新的列表进行排序
    print("排序之后",new_salary_list)
    

    匿名函数:max()/min()方法

    salary_dict = {
        'xc': 12300,
        'yx': 10000,
        'll': 2000,
    }
    
    salary_list = list(salary_dict.items())	# 先转换成列表,内部的键值对会变成元祖
    print("最大值",max(salary_list,key=lambda i:i[1]))     # 使用匿名函数做排序条件
    print("最大值",min(salary_list,key=lambda i:i[1]))
    

    匿名函数:filter/map方法

    salary_dict = {
        'xc': 12300,
        'yx': 10000,
        'll': 2000,
    }
    
    # filter/map方法
    salary_list = list(salary_dict.items())	# 先转换成列表,内部的键值对会变成元祖
    # filter方法,只需要满足过滤条件的(小于5000)
    print(list(filter(lambda i: i[1] < 5000, salary_list))) # 使用匿名函数做筛选过滤的条件
    # map方法,每个人加2000
    print(list(map(lambda i: {i[0]:i[1] + 2000}, salary_list)))    # 使用匿名函数做映射的条件
    
  • 相关阅读:
    windows下python访问ipv6报错
    windows下python的包管理器pip安装
    python添加windows域验证
    Java系列笔记(1)
    JVM调优总结 -Xms -Xmx -Xmn -Xss
    5种调优Java NIO和NIO.2的方式
    Java之美[从菜鸟到高手演变]之JVM内存管理及垃圾回收
    jmap,jhat分析内存
    JVM 垃圾回收算法
    JVM 类加载过程
  • 原文地址:https://www.cnblogs.com/XuChengNotes/p/11348985.html
Copyright © 2011-2022 走看看