Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说
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)
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。