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