匿名函数:lambda 表达式。普通函数有且只有返回值的函数才能用匿名函数进行简化成一行函数。
匿名函数不单独使用,一般和内置函数结合使用。内置函数中,可加入函数的有min、max、sorted、map、filter
关于匿名函数格式的说明:
函数名 = lambda 参数 :返回值
参数可以有多个,用逗号隔开
匿名函数不管逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值
返回值和正常的函数一样可以是任意数据类型
1.简单使用
返回一个数的平方
使用函数方式 def func1(x): return x ** 2 使用匿名函数一行搞定 func = lambda x:x ** 2 print(func(5)) # 25
x+y
使用函数方式 def func2(x,y): return x + y 改成匿名函数 fun = lambda x,y:x+y print(fun(1,3)) # 4
2. lambda 函数与内置函数的结合。sorted,map,filter,max,min,reversed
比较字典值的大小,并输出key的值
dic={‘k1‘: 10, ‘k2‘: 100, ‘k3‘: 30} print(max(dic, key=lambda x: dic[x])) # k2
X2
res = map(lambda x:x**2,[1,5,7,4,8]) for i in res: print(i)
打印出大于10的元素
l1 = [1,2,3,11,12,40,20,50,79] ret = filter(lambda x:x > 10,l1) for i in ret: print(i)
如果l1列表的数据,有上百万,不能使用列表推导式,非常占用内存。建议使用lamdba,它只占用一行
原文地址:https://www.cnblogs.com/Summer-skr--blog/p/11666263.html
时间: 2024-11-08 16:55:18