map是python中的一个内置工具,它是函数式编程(对序列应用一些函数)中最简单的一类内置函数。它的作用是将一个序列放到一个函数中。比如我们要将列表元素都加十,可以用如下方法:
lis = [1,2,3,4]
for x in lis:
lis.append(x + 10)
>>>[11,12,13,14]
如何我们使用map的话会是如下情况:
def plus(x):
s = x + 10
return s
lis = [1,2,3,4]
list(map(plus,lis))
>>>[11,12,13,14]
map将lis序列的每个元素依次放入到了函数plus中。
为什么我们不用for这种容易理解的代码块呢?是因为python中的内置函数运行起来更加迅速,并且代码的简洁性得到了保证。
另外我们还可以搭配lambda表达式来让代码更简洁:
lis = [1,2,3,4]
list(map((lambde x:x + 10),lis))
>>>[11,12,13,14]
注:lambda表达式可以达到函数速写的目的,具体可看我上篇博客链接: Python中lambda表达式.
当然map也可用在序列的元素的类型转换上:其中str其实是内置函数str()
lis = [1,2,3,4]
list(map(str,lis))
>>>['1','2','3',