代码点读机 / Python / map

map Python · 内置函数

`map` 对一个可迭代对象中的每个元素应用同一个函数,返回结果的迭代器。就像流水线上的机器,每个产品经过机器时都被加工一次,最后得到加工后的产品。

怎么用

map(函数, 可迭代对象)

小例子

数字 = [1, 2, 3, 4]
平方 = map(lambda x: x * x, 数字)
print(list(平方))

运行结果

[1, 4, 9, 16]

对比:手动写循环

数字 = [1, 2, 3, 4]
平方 = []
for x in 数字:
    平方.append(x * x)
print(平方)
用 `map` 更简洁,而且适合函数式编程。

常见使用场景

1. 对列表每个元素进行转换:
字符串列表 = ["1", "2", "3"]
整数列表 = list(map(int, 字符串列表))
print(整数列表)   # [1, 2, 3]
2. 多个可迭代对象同时传入:
def 相加(a, b):
    return a + b
结果 = list(map(相加, [1,2,3], [4,5,6]))
print(结果)   # [5, 7, 9]
3. 与 lambda 配合,避免写循环。

提醒:- `map` 返回的是迭代器,需要 `list()` 或循环来展开。 - 函数可以是内置函数、自定义函数或 lambda。 - 如果函数需要多个参数,可以传入多个可迭代对象,长度不一致时以最短为准。

官方文档:https://docs.python.org/zh-cn/3/library/functions.html#map

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Python全部词条