python函数 | 匿名函数lambda

匿名函数:lambda 表达式。普通函数有且只有返回值的函数才能用匿名函数进行简化成一行函数。函数

匿名函数不单独使用,通常和内置函数结合使用。内置函数中,可加入函数的有min、max、sorted、map、filterspa

 

关于匿名函数格式的说明:code

  函数名 = lambda 参数 :返回值blog

  参数能够有多个,用逗号隔开内存

  匿名函数无论逻辑多复杂,只能写一行,且逻辑执行结束后的内容就是返回值class

  返回值和正常的函数同样能够是任意数据类型匿名函数

 

 

 1.简单使用

返回一个数的平方sed

使用函数方式
def func1(x):
    return x ** 2 

使用匿名函数一行搞定
func = lambda x:x ** 2
print(func(5))             # 25 

 

x+ylambda

使用函数方式
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的值map

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,它只占用一行

相关文章
相关标签/搜索