📅  最后修改于: 2023-12-03 15:04:06.124000             🧑  作者: Mango
map()
是 Python 内置函数之一,它是一个高阶函数,接受一个函数和一个可迭代的序列(如列表、元组、集合等),并返回一个新的序列,该序列由将该函数应用于每个元素后得到的结果组成。
map(function, iterable, ...)
function
:函数,接受一个可迭代对象中的元素,返回一个处理后的结果。iterable
:可迭代对象,可以是列表、元组、集合等。...
:可以有多个可迭代对象,如果有,则 function
必须接受相应数量的参数。map()
返回一个可迭代对象,该对象包含将 function
应用于 iterable
的每个元素所得到的结果。
# 对列表中的每个元素取平方
numbers = [1, 2, 3, 4, 5]
squares = map(lambda x: x**2, numbers)
# squares 是一个迭代器
print(list(squares)) # [1, 4, 9, 16, 25]
# 对两个列表中的元素分别做加法
list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = map(lambda x, y: x + y, list1, list2)
# result 是一个迭代器
print(list(result)) # [5, 7, 9]
map()
返回的是一个迭代器,因此可以通过 list()
转换成列表。function
返回值为 None
,则结果中相应元素也是 None
。function
不接受任何参数,则 map()
的第二个参数可以省略。iterable
可迭代对象中的元素个数不同,将以最小的可迭代对象元素个数为准。map()
返回的是生成器(generator),可以通过 next()
方法依次获取元素,或使用 for
循环迭代。