map() 映射函数
最后更新:2026-09-22
map() 映射函数
map(function, iterable, ...) 把 function 应用到每个元素上,返回迭代器。
| 分类 | 内置函数 |
|---|---|
| 类型 | 内置函数 |
| Python 版本 | all |
📝 语法
map(function, *iterables)
⚙️ 参数
| function 必选 | 要应用到每个元素上的可调用函数。 |
|---|---|
| iterables 可选 | 一个或多个可迭代对象(可变参数);多对象时 function 须接收对应个数的参数。 |
返回值:返回 map 迭代器,逐个产出 function 作用于每个元素的结果。
💥 异常
TypeError— function 不可调用或参数不可迭代时抛出。
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
[1, 4, 9]
🏷️ 相关内置函数
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qmap() 返回的是列表吗?
A不是,返回 map 迭代器(惰性),需 list(map(...)) 转成列表才能直接查看或复用。
Qmap(func, a, b) 传两个列表时 func 怎么被调用?
Afunc 每次从各列表取一个元素作为参数:list(map(lambda x, y: x + y, [1, 2], [3, 4])) 得 [4, 6],按最短的截断。
Qmap() 和列表推导式哪个好?
A逻辑简单时推导式 [f(x) for x in lst] 更可读;map 配合已有函数(如 map(str.upper, words))更简洁,二者性能相近。
Qmap 会立即执行吗?
A不会,惰性求值,开始迭代时才逐个调用 function;用于大数据的链式处理可省内存。