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}]
  • 相关阅读:
    8-6实战蒙版
    8-5渐变及半透明蒙版
    8-4修改蒙版
    8-3建立蒙版
    imageNamed、imageWithContentsOfFile、imageWithData
    #import、#include、@class、@protocol、@interface
    JSON解析
    控制器的生命周期
    纯代码方式实现九宫格布局
    KVC笔记
  • 原文地址:https://www.cnblogs.com/LynHome/p/12571056.html
Copyright © 2011-2022 走看看