📜  Python map()

📅  最后修改于: 2020-09-20 04:18:03             🧑  作者: Mango

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

map()的语法为:

map(function, iterable, ...)

map()参数

  1. 函数 – map()iterable每个项目传递给此函数。
  2. 可迭代-要映射的可迭代

您可以将多个iterable传递给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)

# converting map object to set
numbersSquare = set(result)
print(numbersSquare)

输出


{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)

# converting map object to set
numbersSquare = set(result)
print(numbersSquare)

输出


{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]