本文参考文章如下,其文章适用于Python2:
python中的map函数_python map_菜鸟更要努力呀的博客-CSDN博客
001 map函数简介
map是python内置函数,会根据提供的函数对指定的序列做映射。
map()函数的语法是:
map(func, *iterables)
第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列(如list),返回的是一个map对象。
把函数依次作用在list中的每一个元素上,得到一个新的list并将其作为map对象返回。注意,map函数不改变原list,而是返回一个代表新list的map对象。
def square(x):
return x ** 2
map_test = map(square, [1, 2, 3, 4, 5])
print(map_test)
print(list(map_test))
# 输出:
# <map object at 0x00000216FF0F7FD0>
# [1, 4, 9, 16, 25]
002 map()函数应用实例
(1)结合lambda匿名函数使用:
map_test = map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10])
print(map_test)
print(list(map_test))
# <map object at 0x000001E5A13E7DC0>
# [3, 7, 11, 15, 19]
(2)通过map实现类型转换
map_test = map(int, ('1', '2', '3'))
print(map_test)
print(list(map_test))
# <map object at 0x00000258FA5D7FA0>
# [1, 2, 3]
(3)将字符串转换为list
map_test = map(int, '1234')
print(map_test)
print(list(map_test))
# <map object at 0x0000018387ED7FA0>
# [1, 2, 3, 4]
(4)提取字典中的key,并将结果放在一个list中
map_test = map(int, {1: 4, 2: 5, 3: 6})
print(map_test)
print(list(map_test))
# <map object at 0x000001880845A8B0>
# [1, 2, 3]