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)

          

猜你喜欢

转载自www.cnblogs.com/tkg1314/p/12555360.html