python lambda基础

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

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

def fn1():
	return 100

print(fn1)
print(fn1())

#lambda表达式
fn2 = lambda:100
print(fn2). #输出的是此lambda的内存地址
print(fn2())	#100

例子:计算

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

#lambda表达式
fn1 = lambda a, b:a + b
print(fn1(1,2)) #3

二.lambda的参数形式

1.无参数

fn1 = lambda:10
print(fn1())

2.一个参数

fn1 = lambda a:a
print(fn1('hello'))

3.默认参数

fn1 = lambda a,b,c=20:a + b +c
print(fn1(10,20))  #50

4.可变参数:*args

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

5.可变参数:*kwargs 收集不定长的关键字参数,返回一个字典

fn1 = lambda *kwargs:kwargs
print(fn1(name='lily',age=18))

三.lambda的应用
1.带判断的lambda

fn1 = lambda a,b : a if a > b else b
print(fn1(20,10))

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

teachers = [
{'name':'lily','age':18},
{'name':'Ann','age':20},
{'name':'jack','age':22}
]

#按name值升序排列
teachers.sort(key=lambda x:x['name'])

#按name值降序排列
teachers.sort(key=lambda x:x['name'],reverse = True)

#按age值升序排列
teachers.sort(key=lambda x:x['age'])


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值