Python:map函数

大数据学习路线图

【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!版权所有,侵权必究!
[返回Python教程首页]

map()

map函数接收两个参数,一个是函数f,一个是Iterator,map在Iterable的每个元素上依次执行函数f,并把结果作为新的Iterator迭代器返回。例如:

#定义方法f
def f(x):
    return x * x

result = map(f,[1,2,3])   #返回一个Iterator迭代器,可用for循环来访问
for var in result:
    print(var)

将上述代码写入文件map.py,利用命令python3 map.py执行,输出结果:

1 
4 
9

实际上如果是上述比较简单的操作可以利用列表生成式来完成,如:

>>> [x*x for x in range(1,4)]
[1, 4, 9]

另外,用到map函数时,如果函数f比较简单,也可以不事先定义函数,而是以一种匿名函数的形式来进行计算,例如:

result = map(lambda x:x+5,[1,2,3]) #匿名方法的作用是返回[参数值+5]
for var in result:
    print(var)

输出结果:

6  
7 
8  

总结

map函数可以对序列中个每个值进行某种批量转化操作,然后将结果作为迭代器Iterator返回,迭代器可以利用for循环或者next()函数来访问每个值。