lambda 函数完整详解 & 高级用法
语法:
| lambda [arg1 [,arg2,.....argn]]:expression |
特性:
lambda常见用法:
1、将lambda函数赋值给一个变量,通过这个变量间接调用该lambda函数
| add = lambda x, y: x+y |
| add(1, 2) #结果为3 |
2、将lambda函数赋值给其他函数,从而将其他函数用该lambda函数替换
| time.sleep=lambda x: None # 这样,在后续代码中调用time库的sleep函数将不会执行原有的功能。 |
| time.sleep(3) |
lambda高级用法:
将lambda函数作为参数传递给其他函数
1、map()函数 :根据提供的函数对指定序列做映射
| ''' |
| 语法: |
| map(function, iterable, ...) |
| 返回: |
| python 2.x 返回列表 |
| Python 3.x 返回迭代器 |
| ''' |
| map(lambda x: x ** 2, [1, 2, 3, 4, 5]) |
| |
2、reduce() 函数:对参数序列中元素进行累积
| ''' |
| 语法: |
| reduce(function, iterable[, initializer]) |
| 参数: |
| function ----> 函数,有两个参数 |
| iterable ----> 可迭代对象 |
| initializer ----> 可选,初始参数 |
| 返回值: |
| 返回函数计算结果。 |
| ''' |
| def add(x, y): |
| return x + y |
| reduce(add, [1, 3, 5, 7, 9]) |
| |
3、sorted() 函数:对所有可迭代的对象进行排序操作
| ''' |
| sort与sorted区别: |
| 1、sort 是 list 的一个方法,而 sorted 可以对所有可迭代的对象进行排序操作。 |
| 2、list 的 sort 方法返回的是原列表排序后的列表,无返回值;而内建函数 sorted 方法返回的是一个新的 list |
| 语法: |
| sorted(iterable[, cmp[, key[, reverse]]]) |
| 参数说明: |
| iterable 可迭代对象。 |
| cmp 比较的函数,这个具有两个参数,参数的值都是从可迭代对象中取出,此函数必须遵守的规则为,大于返回1,小于返回-1,等于返回0。 |
| key 迭代对象中的排序元素 |
| reverse 排序规则,reverse = True 降序 , reverse = False 升序(默认) |
| ''' |
| |
| L=[('b',2),('a',1),('c',3),('d',4)] |
| |
| sorted(L, cmp=lambda x,y:cmp(x[1],y[1])) |
| |
| [('a', 1), ('b', 2), ('c', 3), ('d', 4)] |
| |
| |
| sorted(L, key=lambda x:x[1]) |
| |
| [('a', 1), ('b', 2), ('c', 3), ('d', 4)] |
4、filter()函数:用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
| ''' |
| 语法: |
| filter(function, iterable) |
| 参数: |
| function 判断函数 |
| iterable 可迭代对象 |
| 返回值: |
| Pyhton2.7 返回列表,Python3.x 返回迭代器对象,具体内容可以查看:Python3 filter()函数 |
| ''' |
| newlist = filter(lambda x: x % 3 == 0, [1, 2, 3]) |
| print(list(newlist)) |
| |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· 字符编码:从基础到乱码解决
· SpringCloud带你走进微服务的世界