前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【Python基础】内置函数map详解

【Python基础】内置函数map详解

原创
作者头像
superhua
发布2022-03-27 11:39:37
8030
发布2022-03-27 11:39:37
举报
文章被收录于专栏:CNNCNN

提到map时,有其他编程语言经验的同学可能会想到键值对。这里需要注意的是,在python中,键值对使用的是字典dict。在pythonmap是用于对列表中每个元素执行相同任务的内置函数,今天我们学习map函数,并了解它到底有什么好处。

1 map的基础用法

对于列表(或其他序列类型),如果希望对每个元素执行相同的操作,我们一般的做法是使用一个for循环遍历每个元素然后执行相同操作。例如,对每个元素+10:

代码语言:python
代码运行次数:0
复制
a = [1, 2, 3, 4, 5]
b = []
for i in a:
	b.append(i + 10)

上面操作非常常见,因此,Python内置了一个比较使用的工具函数:map,使用map函数使得代码变得更简洁:

代码语言:python
代码运行次数:0
复制
a = [1, 2, 3, 4, 5]
def inc(x): return x + 10
b = list(map(inc, a))

map函数除了能让代码更优雅以外,还有一个更重要的好处:

使用map比使用for循环速度更快。

使用map函数的性能优势我们在【Python基础】字符串连接最快方案一文已经验证过了。

2 map传参

上面提到,可以使用map函数替代for循环执行相同任务。但使用的示例都是无参数的类型。接下来我们学习如何传参。例如,对每个元素× m,然后+ n:

代码语言:python
代码运行次数:0
复制
a_arr = [1, 2, 3, 4, 5]
m_arr = [1, 2, 3, 4, 5]
n_arr = [1, 2, 3, 4, 5]
def inc(x, m, n): return x * m + n
b_arr = list(map(inc, a_arr, m_arr, n_arr))
print(b_arr)

输出结果为:

代码语言:python
代码运行次数:0
复制
[2, 6, 12, 20, 30]

可以看到,map函数的第一个参数是对每个元素执行的相同任务的函数,后面可以接多个参数,每个参数是一个序列,且对应的相同位置元素传入到函数参数列表中。

欢迎关注我【Python学习实战】,第一时间获取最新更新。每天学习一点点,每天进步一点点。

关注【Python学习实战】
关注【Python学习实战】

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 map的基础用法
  • 2 map传参
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档