Python基础内置函数map详解
Posted 走召大爷
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python基础内置函数map详解相关的知识,希望对你有一定的参考价值。
转载请注明出处:
本文:https://huachao.blog.csdn.net/article/details/123770514
我的个人博客:https://www.bitpy.cn/a/8ca4b124-7cda-475e-a879-75e2ac9e1de1
提到map
时,有其他编程语言经验的同学可能会想到键值对
。这里需要注意的是,在python
中,键值对
使用的是字典dict
。在python
中map
是用于对列表中每个元素执行相同任务的内置函数,今天我们学习map
函数,并了解它到底有什么好处。
1 map的基础用法
对于列表(或其他序列类型),如果希望对每个元素执行相同的操作,我们一般的做法是使用一个for
循环遍历每个元素然后执行相同操作。例如,对每个元素+10
:
a = [1, 2, 3, 4, 5]
b = []
for i in a:
b.append(i + 10)
上面操作非常常见,因此,Python
内置了一个比较使用的工具函数:map
,使用map
函数使得代码变得更简洁:
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
:
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)
输出结果为:
[2, 6, 12, 20, 30]
可以看到,map
函数的第一个参数是对每个元素执行的相同任务的函数,后面可以接多个参数,每个参数是一个序列,且对应的相同位置元素传入到函数参数列表中。
欢迎关注我【Python学习实战】,第一时间获取最新更新。每天学习一点点,每天进步一点点。
以上是关于Python基础内置函数map详解的主要内容,如果未能解决你的问题,请参考以下文章