📜  Python map()函数(1)

📅  最后修改于: 2023-12-03 15:04:06.124000             🧑  作者: Mango

Python map()函数

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 可迭代对象中的元素个数不同,将以最小的可迭代对象元素个数为准。
  • 在 Python 3.x 版本中,map() 返回的是生成器(generator),可以通过 next() 方法依次获取元素,或使用 for 循环迭代。