Python 内建函数列表 > Python 的内置函数 map
Python 的内置函数 map() 是一个高阶函数,它允许对一个可迭代对象(如列表、元组等)的所有元素应用指定的函数,并返回一个 map 对象(可迭代对象)。其基本语法是:
map(function, iterable, ...)
主要特点:
惰性计算(Lazy Evaluation):map 对象不会立即执行计算,只有在需要时才会真正处理数据
多参数支持:可以同时处理多个可迭代对象
函数式编程特性:配合 lambda 表达式使用尤为方便
常见使用场景:
numbers = [1, 2, 3, 4]
squared = map(lambda x: x**2, numbers)
print(list(squared)) # 输出:[1, 4, 9, 16]
类型转换:
str_numbers = ['1', '2', '3']
int_numbers = map(int, str_numbers)
print(list(int_numbers)) # 输出:[1, 2, 3]
注意事项:
map 对象是迭代器,只能遍历一次。如果需要多次使用,应转换为列表
当多个可迭代对象长度不一致时,以最短的对象为准
在 Python 3 中返回的是 map 对象,而在 Python 2 中直接返回列表
替代方案: 对于简单场景,列表推导式通常更加直观:
# 等价于 map(lambda x: x**2, numbers)
squared = [x**2 for x in numbers]
但在处理多个可迭代对象或需要复用函数时,map 仍然有其优势。