Python 中的 map()
函数是一个内置函数,它允许你将一个函数应用到一个可迭代对象(如列表、元组、字符串等)的每个元素上,并返回一个新的可迭代对象,其中包含了应用该函数后的结果。
map()
函数的语法如下:
map(function, iterable, ...)
其中:
function
是要应用的函数,可以是内置函数或自定义函数。iterable
是要应用函数的可迭代对象,可以是列表、元组、字符串等。...
表示可以有多个可迭代对象,并且它们的长度必须相同。
下面是一些示例:
- 将一个函数应用到列表中的每个元素:
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers) # Output: [1, 4, 9, 16, 25]
- 同时应用多个函数到一个可迭代对象:
def add(x):
return x + 1
def multiply(x):
return x * 2
numbers = [1, 2, 3, 4, 5]
result = list(map(lambda x: (add(x), multiply(x)), numbers))
print(result) # Output: [(2, 2), (3, 4), (4, 6), (5, 8), (6, 10)]
- 同时对多个可迭代对象应用一个函数:
names = ['Alice', 'Bob', 'Charlie']
ages = [25, 30, 35]
people = list(map(lambda name, age: (name, age), names, ages))
print(people) # Output: [('Alice', 25), ('Bob', 30), ('Charlie', 35)]
map()
函数的返回值是一个 map 对象,需要使用 list()
或其他可迭代对象的构造函数将其转换为列表或其他数据结构。
map()
函数通常与 lambda 函数一起使用,但也可以使用已定义的自定义函数。它是 Python 中处理序列数据的重要工具之一。