Python_00_lambda表达式

Posted 宋泊然

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python_00_lambda表达式相关的知识,希望对你有一定的参考价值。

    1.应用场景:如果一个函数有一个返回值,并且只有用一句代码,可以使用lambda表达式简化。

    2.语法:lambda  参数列表:表达式

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

    4.lambda的简单例子:

# 函数的方法
def fn1():
    return 200


print(fn1())

# lambda表达式
fn2 = lambda :200
print(fn2())

运行结果:

 

 

    5.lambda实现两个数字相加

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

 

 

     6.lambda的参数形式

      1):无参数

fn1=lambda:100
print(fn1())

 

       2):一个参数

fn1=lambda a:a
print(fn1("ass"))

 

       3)默认参数

fn1=lambda a,b,c=100:a+b+c
print(fn1(1,2))
print(fn1(1,2,3))

 

       4)可变参数*args,用来传不定长数据

fn1=lambda *args:args
print(fn1(1,2,3,4))

默认返回为元组

 

       5)可变参数:*kwargs,用来传不定长字典

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

 

 

    7.带if的lambda表达式

fn1=lambda a,b:a if a>b else b
print(fn1(1,3))

 

     8.字典数据的排序

 

students=[{\'name\':\'Tom\',\'age\':2},{\'name\':\'Rose\',\'age\':35},{\'name\':\'Jack\',\'age\':30}]
# 按name值升序排列
students.sort(key=lambda x:x[\'name\'])
print(students)

# 按age值降序排列
students.sort(key=lambda x:x[\'age\'],reverse=True)
print(students)

 

 

 

          

以上是关于Python_00_lambda表达式的主要内容,如果未能解决你的问题,请参考以下文章

python编程_匿名函数_lambda

IntelliJ:求值lambda表达式在调试时引发编译错误

python中的lambda表达式

python lambda表达式

C/C++_Lambda表达式

C/C++_Lambda表达式