python中几个常用函数的正确用法-lambda/filter/map/reduce
作者:小小程序员ol 时间:2022-02-17 14:52:45
lambda/filter/map/reduce
这几个函数面试中很肯定会用到,本篇主要介绍这几个函数的用法。
1 lambda
匿名函数,用法如下:
# lambada 参数,参数,参数 : 返回的表达式
示例1:
f = lambda x, y: x * y
print(f(2, 3)) # 6
示例2:
r = (lambda x, y: x+y)(1, 2)
print(r) # 3
2 filter
filter(function, sequence):对sequence
中的item
依次执行function(item)
,将执行结果为 True
的item
组成一个filter
对象(可迭代)(取决于sequence
的类型)返回。
示例:
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def gt_5(x):
return x > 5
r = filter(gt_5, range(10))
print(list(r)) # [6, 7, 8, 9]
3 map
map(function, sequence):对sequence
中的item
依次执行function(item)
,见执行结果组成一个map
对象(可迭代)返回。
示例:
def mysum(x, y):
return x + y
r = map(mysum, range(5), range(5, 10))
print(list(r)) # [5, 7, 9, 11, 13]
4 reduce
python3
中,reduce
已经从全局名称空间里移除,需要从functiontools
中导入。
reduce
(function, sequence, starting_value):对sequence
中的item
顺序迭代调用function
,如果有starting_value
,还可以作为初始值。
示例:
'''
学习中遇到问题没人解答?小编创建了一个Python学习交流群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def mysum(x, y):
return x + y
from functools import reduce
r = reduce(mysum, range(10))
print(r) # 45
5 联合使用
示例:计算1!+2!+...+10!
def factorial(n):
if n == 1:
return 1
return n*factorial(n-1)
r = reduce(lambda x, y: x + y, map(factorial, range(1, 11)))
print(r) # 4037913
这就是几个函数的用法了,是不是很简单呢?
来源:https://www.cnblogs.com/python960410445/p/15382781.html
标签:python,lambda,filter,map,reduce
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Python用正则表达式实现爬取古诗文网站信息
2021-08-30 07:12:51
![](https://img.aspxhome.com/file/2023/3/68983_0s.jpg)
网页打开速度的心理学
2009-03-26 13:18:00
python实现邮件自动发送
2023-06-10 16:24:44
使用Microsoft SQL Server 2000全文搜索功能构建Web搜索应用程序
2008-09-29 12:32:00
Python魔法方法 容器部方法详解
2021-02-05 19:25:43
Django restful framework生成API文档过程详解
2021-08-10 16:37:16
![](https://img.aspxhome.com/file/2023/5/76005_0s.png)
用CSS定义 li 样式
2007-09-28 20:56:00
使用wxpy实现自动发送微信消息功能
2022-04-01 21:16:06
![](https://img.aspxhome.com/file/2023/2/78572_0s.jpg)
Vue 项目中遇到的跨域问题及解决方法(后台php)
2023-11-16 09:14:13
![](https://img.aspxhome.com/file/2023/0/100540_0s.png)
随Linux开机自动启动mysql
2009-12-29 10:14:00
ASP下批量删除数据的两种方法
2011-02-05 11:01:00
Python3 assert断言实现原理解析
2023-06-11 20:39:33
Python常用正则表达式符号浅析
2022-03-25 08:08:36
Python对多个sheet表进行整合实例讲解
2021-01-15 06:18:24
在Python的一段程序中如何使用多次事件循环详解
2023-04-08 03:33:28
微信跳一跳小游戏python脚本
2023-07-06 10:15:15
![](https://img.aspxhome.com/file/2023/1/66811_0s.png)
PyTorch中关于tensor.repeat()的使用
2023-06-26 07:13:35
Python开发之QT解决无边框界面拖动卡屏问题(附带源码)
2023-10-31 09:31:29
![](https://img.aspxhome.com/file/2023/6/66816_0s.png)
自定义asp错误信息的显示
2007-09-13 12:33:00
Python实现图片格式转换
2023-08-03 04:58:57
![](https://img.aspxhome.com/file/2023/7/60967_0s.jpg)