map函数

map函数

  • map函数:在可迭代对象上映射函数
  • map函数在python2.0中,相关内置函数map在传入None作为函数参数时,会以类似方式把序列的元素配对起来。如果各个参数长度不等,那么map函数会用None补齐较短的序列(不是按照最短的序列长度截断),python3.0中不再支持
  • 在python3.0中,map会先输入一个函数参数,以及一个或多个序列参数,然后用从序列中取出的并行元素来调整,最后把结果收集起来并返回(map是一个值生成器,必须传入list从而一次性收集并显示其结果),返回的是迭代器

1. 函数语法:

map(function,iterable)
function:函数
iterable:一个或者多个序列

2. map()会根据提供的函数对指定的序列做映射

  • 第一个参数function()以参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的新列表
>>> def square(x):
>>>     return x ** 2
>>> map(square,[1,2,3,4,5])

>>> list(map(square,[1,2,3,4,5]))
[1, 4, 9, 16, 25]
>>> def add(x,y,z):
>>>     return x + y + z
>>> list1 = [1,2,3]
>>> list2 = [1,2,3,4]
>>> list3 = [1,2,3,4,5]
>>> res = map(add,list1,list2,list3)  #有截断功能,按最短的算
>>> print(list(res)) #1+1+1,2+2+2,3+3+3
[3, 6, 9]

你可能感兴趣的:(函数)