python中map和filter区别_Python中map、filter和reduce的使用总结
在Python中我们常常会遇到需要使用map、filter和reduce三大函数的情况,大家知道分别在什么情况下使用它们吗?下面我们来逐一学习并理解Python中map、filter和reduce的使用,一起来看看吧!
1、map函数
map函数的规范是,将⼀个函数映射到⼀个输⼊列表的所有元素上。
map(function_to_apply, list_of_inputs)
⼤多数时候,我们要把列表中所有元素⼀个个地传递给⼀个函数,并收集输出。比如:
items = [1, 2, 3, 4, 5]
squared = []
for i in items:
squared.append(i**2)
而
items = [1, 2, 3, 4, 5]
squared = list(map(lambda x: x**2, items))
⼤多数时候,我们使⽤匿名函数lambdas来配合map函数,不仅⽤于⼀列表的输⼊, 我们甚⾄可以⽤于⼀列表的函数!
def multiply(x):
return (x*x)
def add(x):
return (x+x)
funcs = [multiply, add]
for i in range(5):
value = map(lambda x: x(i), funcs)
print(list(value))
# Output:
# [0, 0]
# [1, 2]
# [4, 4]
# [9, 6]
# [16, 8]
2、Filter函数
Filter函数很好理解,就是filter过滤列表中的元素,并且返回⼀个由所有符合要求的元素所构成的列表,符合要求即函数映射到该元素时返回值为True。下面具一个简单的例子来帮助大家理解:
number_list = range(-5, 5)
less_than_zero = filter(lambda x: x < 0, number_list)
print(list(less_than_zero))
# Output: [-5, -4, -3, -2, -1]
这个filter类似于⼀个for循环,但它是⼀个内置函数,并且更快。
3、Reduce函数
当需要对⼀个列表进⾏⼀些计算并返回结果时,Reduce是个⾮常有⽤的函数。举个例⼦,当你需要计算⼀个整数列表的乘积时。通常在 Python中你可能会使⽤基本的 for循环来完成这个任务。现在我们来试试 reduce:
from functools import reduce
product = reduce( (lambda x, y: x * y), [1, 2, 3, 4] )
# Output: 24
Python中map、filter和reduce的使用总结就讲到这里了,大家都掌握精华的内容了吗?总的来说,map、filter和reduce三大函数对函数式编程来讲,是极为方便快捷的,推荐大家都尝试着多使用看看,一定能发现新的大陆!
python中map和filter区别_Python中map、filter和reduce的使用总结相关推荐
- python post与get的区别_python中get和post有什么区别
更多编程教程请到:菜鸟教程 https://www.piaodoo.com/ 友情链接: 高州阳光论坛https://www.hnthzk.com/ 人人影视http://www.sfkyty.com ...
- python进程线程协程区别_Python中 进程 线程 协程
一.进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实体:在 ...
- python多线程和多进程的区别_python中多线程与多进程的区别
线程的概念: 线程是操作系统中进行运算调度的最小单位.它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程可以有多个线程,每条线程可以同时执行不同的任务.一个 ...
- python中str和int区别_python中eval与int的区别浅析
python中eval和int的区别是什么?下面给大家介绍一下: 1.eval()函数 eval(<字符串>)能够以Python表达式的方式解析并执行字符串,并将返回结果输出.eval() ...
- python集合和字典的区别_Python中的字典和集合
导语:本文章记录了本人在学习Python基础之数据结构篇的重点知识及个人心得,打算入门Python的朋友们可以来一起学习并交流. 本文重点: 1.掌握常见的字典创建,查询,判别方法: 2.了解字典中的 ...
- python属性和方法的区别_Python中几种属性访问的区别
起步 python的提供一系列和属性访问有关的特殊方法:__get__, __getattr__, __getattribute__, __getitem__ .本文阐述它们的区别和用法. 属性的访问 ...
- python中sort和sorted区别_Python中的 sort 和 sorted的用法与区别
今天在做一道题时,因为忘了Python中sort和sorted的用法与区别导致程序一直报错,找了好久才知道是使用方法错误的问题!现在就大致的归纳一下sort和sorted的用法与区别 1. sort: ...
- python属性和方法的区别_Python中几种属性访问的区别与用法详解
起步 在Python中,对于一个对象的属性访问,我们一般采用的是点(.)属性运算符进行操作.例如,有一个类实例对象foo,它有一个name属性,那便可以使用foo.name对此属性进行访问.一般而言, ...
- python函数与方法的区别_python中函数和方法有哪些区别
python中函数和方法有哪些区别 发布时间:2020-11-16 09:30:04 来源:亿速云 阅读:89 作者:小新 小编给大家分享一下python中函数和方法有哪些区别,相信大部分人都还不怎么 ...
- python包和库的区别_python中模块、包、库的区别和使用
模块:就是.py文件,里面定义了一些函数和变量,需要的时候就可以导入这些模块. 包:在模块之上的概念,为了方便管理而将文件进行打包.包目录下第一个文件便是 __init__.py,然后是一些模块文件和 ...
最新文章
- javascript_JavaScript疲劳疲劳
- 给字符数组赋值的方法
- 手把手教你学51单片机-c语言版期末考试,手把手从零教你学51单片机
- 权重可以当做概率幅吗?---用神经网络的收敛模拟机械波的波动
- 支付开发填坑记之支付宝
- 今日arXiv精选 | 23篇顶会论文:ICASSP / ICCV / CIKM / ICME / AAAI
- leetcode645. 错误的集合
- SQL SERVER 2005 显示行号
- 句句真研—每日长难句打卡Day18
- 【渝粤题库】广东开放大学 秘书理论与实务(1) 形成性考核
- BZOJ3997 TJOI2015组合数学(动态规划)
- 修复easyMule for Mac 2.0崩溃造成的任务丢失
- SpringBoot+Vue项目的PDF导出及给PDF文件盖章的功能示例
- 打印1000年到2000年之间的闰年
- Java读取数据库的数据并转换为json数据
- 推荐3款实用的PC端软件,工作生活两不误,每天5分钟悄悄成长
- 图像形态学处理——灰度梯度(Matlab)
- mybatispuls 如何通过时间进行范围查询
- 多视角学习 (Multi-View Learning)
- Python 将 mp3 导出为 ogg 格式