zoukankan      html  css  js  c++  java
  • Python中lambda表达式

    Python中lambda表达式

    1.lambda的应⽤用场景

    如果一个函数有一个返回值,并且只有一句代码,可以使用 lambda简化。

    2. lambda语法

    lambda 参数列列表 : 表达式 
    

    注意:

    • lambda表达式的参数可有可⽆无,函数的参数在lambda表达式中完全适用。
    • lambda函数能接收任何数量的参数但只能返回一个表达式的值

    3.示例

    # 函数
    def fn1():
    	return 200
    print(fn1)
    print(fn1())
    
    # lambda表达式
    fn2 = lambda: 100
    print(fn2)
    print(fn2())
    

    image-20200914194914287

    注意:直接打印lambda表达式,输出的是此lambda的内存地址

    4.示例:计算a + b

    4.1函数实现

    def add(a, b):
    	return a + b
    	
    result = add(1, 2)
    print(result)
    

    4.2lambda实现

    print((lambda a, b: a + b)(1, 2)) 
    

    image-20200914195306512

    4.3lambda的参数形式

    4.3.1无参数

     print((lambda: 100)()) 
    

    image-20200914195408392

    4.3.2一个参数

    print((lambda a: a)('hello world'))
    

    image-20200914195536023

    4.3.3默认参数

    print((lambda a, b, c=100: a + b + c)(10, 20))
    

    image-20200914195704153

    4.3.4可变参数:**args

    print((lambda *args: args)(10, 20, 30)) 
    

    image-20200914195808977

    注意:这里的可变参数传入到lambda之后,返回值为元组。

    4.3.5可变参数:**kwargs

    print((lambda **kwargs: kwargs)(name='python', age=20)) 
    

    5.lambda的应用

    5.1带判断的lambda

    print((lambda a, b: a if a > b else b)(1000, 500)) 
    

    5.2 列表数据按字典key的值排序

    students = [
    	{'name': 'TOM', 'age': 20},
    	{'name': 'ROSE', 'age': 19},
    	{'name': 'Jack', 'age': 22}
    			]
    # 按name值升序排列列
    students.sort(key=lambda x: x['name'])
    print(students)
    
    # 按name值降序排列列
    students.sort(key=lambda x: x['name'], reverse=True)
    print(students)
    
    # 按age值升序排列列
    students.sort(key=lambda x: x['age'])
    print(students)
    
  • 相关阅读:
    pcb过孔盖油
    stm32的串口中断
    串口速度计算
    块元素、行内元素、行内块元素及其相互转化
    CSS伪类选择器
    CSS后代选择器、子代选择器
    CSS表示颜色、行间距、缩进、文字修饰
    CSS学习之通配符选择器
    【DP专题】——洛谷P0170道路游戏
    ssh框架jar包下载地址
  • 原文地址:https://www.cnblogs.com/James-221/p/13669049.html
Copyright © 2011-2022 走看看