python中filter,map,reduce的作用


Posted in Python onJune 10, 2022

一、map函数

作用:map主要作用是计算一个序列或者多个序列进行函数映射之后的值

语法:map(function,iterable1,iterable2)

说明:function中参数值可以是一个,也可以是多个;iterable代表function运算中的参数值,有几个参数值就传入几个iterable

注意:1.迭代器需要进行列表转换 2.map中如果传入的序列长度不一,会依据最短的序列计算

1. lambda函数

x=[1,2,3,4]
y=[5,6,7,8]
print(list(map(lambda x,y:(x+y),x,y)))

输出结果:

[6, 8, 10, 12]

2. 自定义函数

def m_num(x,y):
   return  x+y
print(list(map(m_num,x,y)))

输出结果:

[6, 8, 10, 12]

思路:

把列表1中的元素与列表2中元素依次相加

1+5
2+6
3+7
4+8

二、filter函数

作用:filter主要作用是过滤掉序列中不符合函数条件的元素

语法:fliter(function,sequence)

说明:function可以是匿名函数或者自定义函数,可以对后面的sequence序列的每个元素判定是否符合条件;sequence可以是列表、元组或者字符串

1. lambda函数

num = [2,3,6,9,90,23,88]
#输出的是filter对象 <filter object at 0x00000113BF8C7390>
print(filter(lambda x:x>10,num))
#需要转成list [90, 23, 88]
print(list(filter(lambda x:x>10,num)))

输出结果:

<filter object at 0x00000113BF8C7390>
[90, 23, 88]

注意:迭代器需要进行列表转换

2. 自定义函数

def fil_num(x):
   return x>10

print(list(filter(fil_num,num)))

思路:

把列表中不需要的元素去掉,那首先要确定要过滤得条件是什么

三、reduce函数

作用:reduce是对一个序列进行计算,结果只得到一个值

语法:reduce(function,iterable)

说明:function中必须传入两个参数,iterable可以是列表或者元组

注意:reduce使用前需要导包 from functools import reduce

1. lambda函数

from functools import reduce
x=[1,2,3,4,5]
print(reduce(lambda x,y:(x*y),x))

2. 自定义函数

from functools import reduce
x=[1,2,3,4,5]
def ca(x,y):
    return x*y
print(reduce(ca,x))

思路:

对一个列表里的元素做计算,从左到右依次计算两个元素,将得到得值跟下一个元素计算

12 = 2
23 = 6
64 = 24
245 = 120

到此这篇关于python中filter,map,reduce的作用的文章就介绍到这了,更多相关python map reduce内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Python 相关文章推荐
从零学Python之入门(三)序列
May 25 Python
python进阶教程之循环相关函数range、enumerate、zip
Aug 30 Python
利用python实现简单的循环购物车功能示例代码
Jul 05 Python
Python字典实现简单的三级菜单(实例讲解)
Jul 31 Python
Python反射的用法实例分析
Feb 11 Python
Selenium控制浏览器常见操作示例
Aug 13 Python
Python第三方库h5py_读取mat文件并显示值的方法
Feb 08 Python
如何将 awk 脚本移植到 Python
Dec 09 Python
Python 实现opencv所使用的图片格式与 base64 转换
Jan 09 Python
PyQt5中QTableWidget如何弹出菜单的示例代码
Feb 23 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
May 25 Python
解决python3中os.popen()出错的问题
Nov 19 Python
Django框架中模型的用法
Jun 10 #Python
Django框架中视图的用法
Jun 10 #Python
python基础之//、/与%的区别详解
Jun 10 #Python
Django框架中表单的用法
Jun 10 #Python
移除Selenium中window.navigator.webdriver值
Jun 10 #Python
Django框架模板用法详解
Jun 10 #Python
python库Tsmoothie模块数据平滑化异常点抓取
You might like
转生史莱姆:萌王第一次撸串开心到飞起,哥布塔撸串却神似界王神
2018/11/30 日漫
php+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
CentOS 6.2使用yum安装LAMP以及phpMyadmin详解
2013/06/17 PHP
ThinkPHP 表单自动验证运用示例
2014/10/13 PHP
php中rename函数用法分析
2014/11/15 PHP
PHP实现扎金花游戏之大小比赛的方法
2015/03/10 PHP
PHP遍历数组的方法汇总
2015/04/30 PHP
PHP中static关键字以及与self关键字的区别
2015/07/01 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
2016/01/04 PHP
PHP打印输出函数汇总
2016/08/28 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
PHP的mysqli_select_db()函数讲解
2019/01/23 PHP
ExtJS Window 最小化的一种方法
2009/11/18 Javascript
一个简单的JavaScript数据缓存系统实现代码
2010/10/24 Javascript
基于jquery实现漂亮的动态信息提示效果
2011/08/02 Javascript
Javascript的各种节点操作实例演示代码
2012/06/27 Javascript
JavaScript中的lastIndexOf()方法使用详解
2015/06/06 Javascript
JavaScript中的toDateString()方法使用详解
2015/06/12 Javascript
jquery插件tytabs.jquery.min.js实现渐变TAB选项卡效果
2015/08/25 Javascript
深入理解requestAnimationFrame的动画循环
2016/09/20 Javascript
利用C/C++编写node.js原生模块的方法教程
2017/07/07 Javascript
JavaScript面试技巧之数组的一些不low操作
2019/03/22 Javascript
深入解析vue 源码目录及构建过程分析
2019/04/24 Javascript
seajs和requirejs模块化简单案例分析
2019/08/26 Javascript
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
[48:00]完美世界DOTA2联赛循环赛 Forest vs Inki BO2第二场 11.04
2020/11/04 DOTA
总结python爬虫抓站的实用技巧
2016/08/09 Python
使用Python+Splinter自动刷新抢12306火车票
2018/01/03 Python
将python图片转为二进制文本的实例
2019/01/24 Python
python GUI库图形界面开发之PyQt5状态栏控件QStatusBar详细使用方法实例
2020/02/28 Python
浅析CSS3 用text-overflow解决文字排版问题
2020/10/28 HTML / CSS
解决Firefox下不支持outerHTML问题代码分享
2014/06/04 HTML / CSS
处理HTML5新标签的浏览器兼容版问题
2017/03/13 HTML / CSS
篝火晚会策划方案
2014/05/16 职场文书
2014年教师节活动总结
2014/08/29 职场文书
2015年转正工作总结范文
2015/04/02 职场文书