【版权声明】博客内容由厦门大学数据库实验室拥有版权,未经允许,请勿转载!版权所有,侵权必究!
[返回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()函数来访问每个值。