python之有用的3个内置函数(filter/map/reduce)
这三个内置函数还是非常有用的,在工作中用的还不少,顺手,下面一一进行介绍
1、filter
语法:filter(function,iterable)
解释:把迭代器通过function函数进行过滤出想要的数据
用法:可以设置一个迭代器,然后把相同属性的元素过滤出来,如下所示
list1 = [1,2,3,4,5,6,7,8,9,10] listTemp = filter(lambda x:x%2==0,list1)
上面的意思是过滤出偶数(即被2整除的数),其中使用了匿名函数lambda,非常简便,当然我们也可以自己顶一个函数来实现
另外在python2.*版本中是直接返回list的,但在python3.*中是返回一个迭代器
2、map
语法:map(function,*iterable)
解释:把迭代器(或多个迭代器)通过function函数得到结果
用法:可以设置一个或多个迭代器,然后把相同位置(如果为多个迭代器)的元素通过function函数得到最终结果,如下所示:
#一个迭代器
list1 = [1,2,3,4,5,6,7,8,9]
listTemp = map(lambda x:x*x,list1) #多个迭代器
list2 = [11,12,13]
list3 = [21,22,23,24,25]
listTemp = map(lambda x,y,z:x+y+z,list1,list2,list3)
多个迭代器的时候,是对后面所有的迭代器进行处理(lambda函数的参数个数必须和后面迭代器的个数一致),这里我们又使用了匿名函数lambda
同filter一样,在python2.*版本中是直接返回list的,但在python3.*中是返回一个迭代器
3、reduce
语法:reduce(function,iterable)
解释:把迭代器通过function进行累积计算
用法:function必须包含俩个参数,第一个参数表示初始值,第二个参数表示迭代器的每个元素,如下:
list1 = [1,2,3,4,5]
listTemp = reduce(lambda x,y:x+y*y,list1)
print(listTemp)
通过print可以看出使用的是python3.*,这里要注意的是,reduce函数在3.*版本里面已经移动到functools里面
这里我们再次使用了lambda匿名函数,非常好用,函数式意思是把list1中的元素自乘之后再相加
python之有用的3个内置函数(filter/map/reduce)的更多相关文章
- python关于list的三个内置函数filter(), map(), reduce()
''' Python --version :Python 2.7.11 Quote : https://docs.python.org/2/tutorial/datastructures.html#m ...
- Python 内置函数&filter()&map()&reduce()&sorted()
常用内置函数 Python 2.x 返回列表,Python 3.x 返回迭代器 在进行筛选或映射时,输出的结果是一个数组,需要list帮助. 如:print(list(map(lambda x:x+1 ...
- Python内置函数filter, map, reduce
filter.map.reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车. 1. filter函数的功能相当 ...
- Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
Python中字符串String的基本内置函数与用法 首先我们要明白在python中当字符编码为:UTF-8时,中文在字符串中的占位为3个字节,其余字符为一个字节 下面就直接介绍几种python中字符 ...
- Python【zip-map-filter】三个内置函数
print("============内置函数:zip===========")l2 = ['a','b','c','e','f','g']l3 = [1,2,3]L4=['A', ...
- 内置函数filter()和匿名函数lambda解析
一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...
- 函数进阶· 第3篇《常用内置函数filter()、map()、zip(),怎么用的呢?》
坚持原创输出,点击蓝字关注我吧 作者:清菡 博客:oschina.云+社区.知乎等各大平台都有. 由于微信公众号推送改为了信息流的形式,防止走丢,请给加个星标 ,你就可以第一时间接收到本公众号的推送! ...
- 内置函数_map()、reduce()、filter()
map().reduce().filter() map()内置函数把一个函数func依次映射到序列或迭代器对象的每个元素上,并返回一个可迭代的map对象作为结果,map对象中每个元素是原序列中元素经过 ...
- python面向对象的多态-类相关内置函数-类内置魔法函数-迭代器协议-上下文管理-04
多态 一种事物具备不同的形态 例如:水 --> 固态.液态.气态 多态:# 多个不同对象可以相应同一个对象,产生不同的结果 首先强调,多态不是一种特殊的语法,而是一种状态,特性(多个不同对象可以 ...
随机推荐
- 远程连接ORACLE服务
远程服务端操作系统: Windows Server 2003 Enterprise Edition sp2ORACLE 版本: Oracle 9.2.0.1.0 正式版 本地客户端操作系统: Wind ...
- 禁止 pdf 下载、打印的方法
https://blog.csdn.net/For_GG/article/details/78616063 https://blog.csdn.net/xiangcns/article/details ...
- 46 【golang项目】完成了一个小小的播放器功能
项目地址:https://github.com/helww/mylab/tree/master/go/player 这个项目中用到了readme说明文件是一个markdown文件. 基础的控制语法,网 ...
- 42 【docker】run命令
最常用的两个option是,网络端口映射,和文件共享 最基本的启动命令(从image创建一个container并启动):docker run -d <image-name> -d:表示守护 ...
- loongnix社区
http://www.loongnix.org/index.php/%E9%A6%96%E9%A1%B5
- HDU 3666.THE MATRIX PROBLEM 差分约束系统
THE MATRIX PROBLEM Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Other ...
- NCUAP 利用java自带方法实现导入excel取数据
final JComponent parent = getModel().getContext().getEntranceUI(); JFileChooser chooser = new JFileC ...
- list(zip(*querySet))使用
teacher_cls_list = obj.cls.all().values_list('id', 'caption') #list(zip(*list)),将数组中的元组中的每一项取出,添加到一起 ...
- 图解HTTP第二章
简单的 HTTP 协议 1>HTTP 协议用于客户端和服务器端之间的通信 HTTP 协议和 TCP/IP 协议族内的其他众多的协议相同,用于客户端和服务器之间的通信.请求访问文本或图像等资源的一 ...
- Axure RP Extension for Chrome 插件安装
描述 我的chmod浏览器上不去谷歌商店,我用的是蓝灯,登上商店后搜索Axure RP Extension for Chrome,下载安装,完成后进入这个插件的详细信息: 使用 打开用axure生成的 ...