在线客服
扫描二维码
下载博学谷APP
扫描二维码
关注博学谷微信公众号
在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)
而Map函数可以让我们⽤⼀种简单⽽漂亮得多的⽅式来实现,如下:
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可行吗?需要什么基础?
新手学Python可行吗?其实Python可以说是最适合新手学习的编程语言。为什么这么说呢?难道学Python不需要什么基础吗?其实如果学习者有一定的计算机基础,学Python会更快,但是没基础也能学好Python,只要肯下功夫。大家了解了新手学Python的可行性之后,还要掌握零基础如何学习Python的方法,毕竟自信和决心只是学习的第一步。
6059
2019-08-19 13:38:17
Python容器有哪些?都有什么作用?
Python容器有哪些?都有什么作用?相信对Python容器有一定了解的朋友都应该知道,Python常用的容器一般有元祖、集合、字典、列表四种。而这些Python容器的作用概括起来,就是统一存储、管理一系列数据。本文将带大家一个个分析Python容器的具体内容,想要把Python容器知识点梳理一遍的朋友,可以一起来看看。
5628
2020-01-10 17:17:11
学Python前需要学什么才能打好基础?
学Python前需要学什么才能打好基础?如果是有一定计算机编程基础相对学习Python更容易些,零基础小白也不用担心,Python是一门简洁、优雅、易读的编程语言,相对其他的学科容易很多。
8996
2020-03-06 11:48:49
Python五大应用领域
Python五大应用领域,要说近两年最火的编程语言是什么?毫无疑问是Python,而且不仅是编程人员、为做论文数据的研究生、职场人士纷纷加入Python学习大军。而市面上的Python课程也会针对大家不同需求进行调整。对于想要通过Python学习获得一份工作的朋友,对于Python的应用领域必须了解。
5109
2020-06-12 14:32:11
入门Python基础知识点总结
Python基础入门主要学习变量,运算符,输入输出和条件以及循环语句,认识Python零基础入门Python开发,了解常用的Linux命令。熟练掌握Python的变量、输入输出、运算符、条件和循环语句,了解使用过常用linux命令。
4140
2021-06-09 16:55:44
