map()函数将给定函数应用于可迭代项的每个项(列表,元组等),并返回结果列表。
map()的语法为:
map(function, iterable, ...)
function-map()将可迭代(iterable)项的每一项传递给此函数。
iterable 迭代项
您也可以将多个迭代(iterable)传递给map()函数。
map()函数将给定函数应用于可迭代的每个项,并返回结果列表。
然后,可以将map()(map对象)的返回值传递给list()(创建列表),set()(创建集合)等函数。
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函数更多信息。
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在功能上是等效的。
在此示例中,添加了两个列表的对应项。
num1 = [4, 5, 6] num2 = [5, 6, 7] result = map(lambda n1, n2: n1+n2, num1, num2) print(list(result))
运行该程序时,输出为:
[9, 11, 13]