Python中的map函数如何使用

2024-04-29

在Python中,map() 函数用于将一个函数应用到一个或多个可迭代对象的每个元素上,并返回一个将该函数应用到每个元素后的结果组成的迭代器。其基本语法格式如下:

map(function, iterable)

其中,function 是要应用的函数,可以是内置函数、自定义函数或 lambda 函数;iterable 是一个或多个可迭代对象,如列表、元组等。

下面是一个简单的示例,将一个列表中的每个元素都平方后返回一个新的列表:

# 定义一个函数,用于计算平方
def square(x):
    return x ** 2

# 定义一个列表
numbers = [1, 2, 3, 4, 5]

# 使用 map() 函数将 square 函数应用到 numbers 列表的每个元素上
result = map(square, numbers)

# 将结果转换为列表并打印
print(list(result))

输出结果为:

[1, 4, 9, 16, 25]

除了使用自定义函数,我们还可以使用 lambda 函数来简化代码,例如:

numbers = [1, 2, 3, 4, 5]
result = map(lambda x: x ** 2, numbers)
print(list(result))

输出结果与之前相同。map() 函数也支持同时传入多个可迭代对象,例如:

numbers1 = [1, 2, 3, 4, 5]
numbers2 = [6, 7, 8, 9, 10]
result = map(lambda x, y: x + y, numbers1, numbers2)
print(list(result))

这样就可以将两个列表中对应位置的元素相加,并返回一个新的列表。