1、函数定义:
map(function, iterable, ...)
2、作用:
该函数通过接收一个函数
function
作为处理函数,然后接收一个参数序列
iterable
,并使用处理函数对序列中的每个元素逐一处理,达到映射的功能。
注意:map函数本身是惰性计算的,因此返回的结果并不是真实结果,而是一个需要被显示迭代的迭代器,可用隐式遍历的方法来强制遍历map作用的序列,从而得出输出结果。直白点说,可以吧map作用后的结果转换为list等类型进行输出。
3、举例解释
(map函数的映射功能有很多,这里列举部分来作为说明)
:
1、结合lambda函数使用
a = [1, 2, 3]
b = map(lambda x: x**2+1, a) # 将a中的元素映射为 x²+1
c = list(b) # 使用list进行隐式遍历
print('content of b:\n', b)
print('content of c:\n', c)
''' 运行结果 '''
content of b:
content of c:
[2, 5, 10]
2、字符串的映射
b = '12, 13, 14'
a = map(int, b.split(',')) # 将字符串b以 ',' 进行划分后映射为整型数
print(list(a)) # 查看结果
''' 运行结果 '''
[12, 13, 14]
3、函数的映射
def func(a):
a = a + 1
a = a**2
return a
a = [1, 2, 3]
b = map(func, a) # 将a中元素逐个输入到func中
print(list(b)) # 查看结果
''' 运行结果 '''
[4, 9, 16]