Python 基础教程

Python 流程控制

Python 函数

Python 数据类型

Python 文件操作

Python 对象和类

Python 日期和时间

Python 高级知识

Python 参考手册

Python map() 使用方法及示例

Python 内置函数

map()函数将给定函数应用于可迭代项的每个项(列表,元组等),并返回结果列表。

map()的语法为:

map(function, iterable, ...)

map()参数

  • function-map()将可迭代(iterable)项的每一项传递给此函数。

  • iterable 迭代项

您也可以将多个迭代(iterable)传递给map()函数。

map()返回值

map()函数将给定函数应用于可迭代的每个项,并返回结果列表。

然后,可以将map()(map对象)的返回值传递给list()(创建列表),set()(创建集合)等函数。

示例1:map()如何工作?

def calculateSquare(n):
  return n*n

numbers = (1, 2, 3, 4)
result = map(calculateSquare, numbers)
print(result)

# 将 map对象 转换成set集合
numbersSquare = set(result)
print(numbersSquare)

运行该程序时,输出为:

<map object at 0x7f722da129e8>
{16, 1, 4, 9}

在上面的示例中,将元组的每个项目都进行平方。

由于map()希望传递一个函数,因此在使用map()函数时通常使用lambda函数。

Lambda函数是没有名称的匿名函数。了解有关Python lambda函数更多信息。

示例2:如何在map()中使用lambda函数?

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

# 将 map对象 转换成set集合
numbersSquare = set(result)
print(numbersSquare)

运行该程序时,输出为:

<map 0x7fafc21ccb00>
{16, 1, 4, 9}

此示例和示例1在功能上是等效的。

示例3:使用Lambda将多个迭代器传递给map()

在此示例中,添加了两个列表的对应项。

num1 = [4, 5, 6]
num2 = [5, 6, 7]

result = map(lambda n1, n2: n1+n2, num1, num2)
print(list(result))

运行该程序时,输出为:

[9, 11, 13]

Python 内置函数