zoukankan      html  css  js  c++  java
  • python基础入门之十二 —— lambda表达式

    一、语法

    作用:简化函数代码

    格式:lambda 参数列表 :表达式

    P.s:

    • lambda表达式参数可有可无,参数写法同函数
    • lambda函数能接收任何数量的参数只能返回一个表达式的值
    def func0():
        return 100
    func = lambda: 100  # lambda本质是一个匿名函数
    print(func0)  # <function func0 at 0x000001F7FE355160>
    print(func)  # <function <lambda> at 0x000001E20BAD5160>
    print(func0())  # 100
    print(func())  # 100

    二、参数形式

    # 无参数
    f1=lambda:100
    print(f1()) # 100
    
    # 一个参数
    f2=lambda a:a
    print(f2('Hello!'))  # Hello!
    
    # 默认参数
    f3=lambda a,b,c=300:a+b+c
    print(f3(100,200))  # 600
    # 可变参数*args,返回元组 f4=lambda *args:args print(f4(100,200,300)) # (100, 200, 300)
    # 可变参数**kwargs,返回字典 f5=lambda **kwargs:kwargs print(f5(name='Tom',age=10)) # {'name': 'Tom', 'age': 10}

    三、应用

    # 1、判断
    func1 = lambda a,b: a if a>b else b
    print(func1(2,3))  # 3
    # 2、按照字典key排序
    students = [
        {'name':'Alice','age':18},
        {'name':'Bill','age':20},
        {'name':'Cindy','age':16}
    ]
    # 2.1、按照age升序排序
    students.sort(key=lambda x:x['age'])
    print(students)  # [{'name': 'Cindy', 'age': 16}, {'name': 'Alice', 'age': 18}, {'name': 'Bill', 'age': 20}]
    # 2.2、按照name降序排序
    students.sort(key=lambda x:x['name'],reverse=True)
    print(students)  # [{'name': 'Cindy', 'age': 16}, {'name': 'Bill', 'age': 20}, {'name': 'Alice', 'age': 18}]
  • 相关阅读:
    Python之路:堡垒机实例
    Django入门
    阿里云centos安装svn和submin
    发邮件功能
    [Coci2015]Divljak
    [2018多省省队联测]劈配
    [AHOI2009]最小割
    [HAOI2017]新型城市化
    [SDOI2014]LIS
    Loj #2256. 「SNOI2017」英雄联盟
  • 原文地址:https://www.cnblogs.com/LynHome/p/12571056.html
Copyright © 2011-2022 走看看