lambda匿名函数超详细总结
大家好,欢迎来到 Crossin的编程教室 !
1. lambda函数介绍
lambda 参数: 表达式
①先写lambda关键字,②然后依次写匿名函数的参数,多个参数之间用逗号连接,③接着是一个冒号,④冒号后面写的是返回的表达式。
lambda函数能接收任意多个参数,但只能返回一个表达式的值; lambda函数是一个函数对象,如果直接赋值给一个变量,这个变量就成了一个函数对象;
2. lambda函数的简单使用
In[1]:lambda x: x + 2
Out[1]:<function __main__.<lambda>(x)>
In[1]:type(lambda x: x + 2)
Out[1]:function
In[1]:(lambda x: x + 2 )(2)
Out[1]:4
In[1]:a = lambda x: x + 2
a(2)
Out[1]:4
3. lambda函数的不同形式
3.1 无参数的lambda函数
In[1]:x1 = lambda: 88
print(x1())
3.2 单参数的lambda函数
In[1]:b = lambda x: x + 2
print(b(8))
3.3 多参数的lambda函数
In[1]:c = lambda x,y: x*y
print(c(2,5))
3.4 带分支的lambda函数
In[1]:d = lambda x: x-1 if x > 5 else x+1
print(d(9))
print(d(3))
4. lambda函数与Python内置函数配合使用
4.1 对列表里的字典排序
l = [{'a': 1, 'b': 41}, {'a': 1111, 'b': 24}, {'a': 1111, 'b': 32}]
l_s = sorted(l, key=lambda x: x["b"], reverse=True)
print(l_s)
4.2 对字典进行key排序
m = {'a':25, 'c':27, 'b':20, 'd':22}
m_s = sorted(m.items(), key=lambda x: x[0])
print(m_s)
4.3 对字典进行values排序
n = {'a':25, 'c':27, 'b':20, 'd':22}
n_s = sorted(n.items(), key=lambda x: x[1])
print(n_s)
4.4 其它用法
list(map(lambda x: x*x, range(1, 11)))
list(filter(lambda x: x % 2 == 0, range(1, 11)))
作者:黄伟呢
_往期文章推荐_
评论