map()的功能是什么?

时间:2019-05-28 15:21:30

标签: python python-3.x

代码中map()的功能是什么?

squares = list(map(lambda x: x**2, range(10)))

4 个答案:

答案 0 :(得分:1)

该代码(squares = list(map(lambda x: x**2, range(10))))严格类似于:

f = lambda x: x**2
squares = []
for x in range(10):
    squares.append(f(x))

答案 1 :(得分:0)

简单来说,

  

map对给定的可迭代对象执行功能

定义:

  

map()函数用于将函数应用于的所有元素   指定可迭代并返回映射对象。 Python map对象是一个   迭代器,因此我们可以遍历其元素

在您的代码中,

squares = list(map(lambda x: x**2, range(10)))

功能lambda x: x**2

例如:

f = lambda x: x**2

f(2)给出 4 作为输出

可迭代对象range(10)

例如: 它创建了一个范围为0到9的可迭代对象

0,1,2,3,4,5,6,7,8,9

地图的作用是,对范围内的所有元素调用该函数,

f(0), f(1), ... , f(9)

,然后您创建了带有输出元素的列表。

答案 2 :(得分:0)

map函数是用于应用于迭代中指定的元素的函数。在您的示例中,迭代范围是range(10)(0到9),并应用从0到9的每个数字的平方函数。Map返回一个从0到81的平方数列表。

答案 3 :(得分:0)

它是map-function

  

在许多编程语言中,map是将给定函数应用于函子的每个元素的高阶函数的名称,例如一个列表,以相同的顺序返回结果列表。当以功能形式考虑时,它通常被称为“适用于所有人”。

来自Python docs

  

返回一个迭代器,该迭代器将函数应用于所有可迭代项,并产生结果。如果传递了其他可迭代参数,则函数必须采用那么多参数,并且并行地将其应用于所有可迭代对象的项。对于多个可迭代对象,迭代器在最短可迭代对象耗尽时停止。对于函数输入已经安排在参数元组中的情况,请参见itertools.starmap()。

简单来说,它是一个将给定功能应用于给定容器的每个元素的函数:

a = [1,2,3,4,5]
l = lambda x: x + 10
list(map(l, a))

将返回:

  

[11, 12, 13, 14, 15]