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

    匿名函数

    一、什么是匿名函数

    匿名函数就是没有名字的函数,使用一次就会被收回,加括号即可以运行

    lambda x,y: x+y
    -----------------------------------------------------------
    <function __main__.<lambda>(x, y)>
    
    res = (lambda x,y: x+y)(1,2)
    print(res)
    -------------------------------------------------------------
    3
    

    二、与内置函数连用

    sorted():对容器进行从小到大排序

    salary_list_dict = {'tank':2,'nick':5,'sean':8}
    salary_list = list(salary_list_dict.items())
    print(sorted(salary_list,key = lambda i:i[1]))
    --------------------------------------------------------
    [('tank', 2), ('nick', 5), ('sean', 8)]
    

    max():找出容器中薪资最高的人

    对应的还有min()

    salary_list_dict = {'tank':2,'nick':5,'sean':8}
    salary_list = list(salary_list_dict.items())
    print(sorted(salary_list,key = lambda i:i[1]))
    -------------------------------------------------------------
    ('sean', 8)
    

    map():对容器中的薪资做一个映射

    salary_list_dict = {'tank':2,'nick':5,'sean':8}
    salary_list = list(salary_list_dict.items())
    print(list(map(lambda i:i[1] + 2000,salary_list)))   #让他们的工资都加2000
    -------------------------------------------------------------
    [2002, 2005, 2008]
    

    filter():对容器中满足条件的允许进行筛选

    salary_list_dict = {'tank':2,'nick':5,'sean':8}
    salary_list = list(salary_list_dict.items())
    print(list(filter(lambda i:i[1] <6,salary_list)))  #输出薪资小于6的人名
    -------------------------------------------------------------
    [('tank', 2), ('nick', 5)]
    

    工作原理

    1.首先将可迭代对象变为迭代器对象

    2.将i当做参数传给第一个参数指定的函数,然后内置方法判断函数

  • 相关阅读:
    【工具相关】iOS-Reveal的使用
    iOS-策略模式
    iOS-观察者模式
    iOS-工厂模式
    iOS-MVC模式
    iOS-Delegate模式
    iOS----单例模式(Singleton)
    iOS----支付(微信支付、支付宝支付、银联支付控件集成支付)(转)
    详解Linux系统下PXE服务器的部署过程
    配置iptables实现本地端口转发的方法详解
  • 原文地址:https://www.cnblogs.com/yanjiayi098-001/p/11348745.html
Copyright © 2011-2022 走看看