Tutorial Study Image

Python map()

内置函数 `map()` 有助于对指定可迭代对象(列表、元组、集合、字典、字符串等)的每个元素执行给定函数,并返回结果列表。


map(function, iterable, ...)  #where iterable can be list, tuple etc

map() 参数

接受两个参数。我们可以向 `map()` 函数传递多个迭代器对象,在这种情况下,给定函数必须具有相同数量的参数。

参数 描述 必需/可选
函数 将对指定可迭代对象的每个元素调用的函数。 必需
可迭代对象 要映射的可迭代对象 必需

map() 返回值

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

输入 返回值
可迭代对象 map 类的迭代器对象

Python 中 map() 方法的示例

示例 1:Python 中 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}

示例 2:如何将 lambda 函数与 map() 结合使用?


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}

示例 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]

示例 4:Python map() 与字符串


# map() with string
map_iterator = map(to_upper_case, 'abc')
print(type(map_iterator))
print_iterator(map_iterator)
 

输出



A B C