代码中map()的功能是什么?
squares = list(map(lambda x: x**2, range(10)))
答案 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]