lambda表达式(Python)

1、在python中,函数是一个被命名的、独立完成特定功能的一段代码,并可能给调用它的程序一个返回值。

        ①普通函数:有名函数

        ②匿名函数:为简化程序代码,可定义匿名函数

2、lambda表达式的应用场景:若函数有一个返回值,并且只有一行简单的代码,可使用lambda简化

3、lambda表达式的基本语法

变量 = lambda 函数参数:表达式(函数代码+return返回值)
#调用变量
变量()
#注意只能返回一个值,若要返回多个值,则封装到列表、字典等数据类型中

4、编写lambda表达式

        (1)定义一个函数,经过一系列操作,返回100(无参数):

def f1():
	return 100
print(f1)#代表f()函数在内存中的地址
print(f1())#代表找到f()函数的地址并立即执行

        lambda简化:

f2=lambda:100
print(f2)
print(f2())

        (2)求两数之和(有参数):

def f1(num1,num2):
	return num1+num2
print(f1(10,20))

        lambda简化:

f2 = lambda num1,num2 : num1 + num2
print(f2)
print(f2())

6、lambda表达式相关应用

        ①带默认值的:

f = lambda a,b,c = 100: a + b + c #c为默认值
print(f(10,20))
print(f(10,20,30))#此时30则将100覆盖,c等于30

        ②可变参数args(不定长参数):

f1 = lambda *args : args
print(f1(10,20,30,40))#函数识别的是*

#返回(10, 20, 30, 40)

        ③关键字参数**kwargs:

f2 = lambda **kwargs : kwargs#返回的是字典
print(f2(dict1=10,dict2=20,dict3=30))

#返回:{'dict1': 10, 'dict2': 20, 'dict3': 30}

        ④带if判断的lambda表达式(求两数的最大值):

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

        ⑤列表数据+字典数据排序

students = [
	{'name':'tom' ,'age':20},
	{'name':'jack' ,'age':10},
	{'name':'jane' ,'age':15}
]
#按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)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值