内置函数 `map()` 有助于对指定可迭代对象(列表、元组、集合、字典、字符串等)的每个元素执行给定函数,并返回结果列表。
map(function, iterable, ...) #where iterable can be list, tuple etc
接受两个参数。我们可以向 `map()` 函数传递多个迭代器对象,在这种情况下,给定函数必须具有相同数量的参数。
| 参数 | 描述 | 必需/可选 |
|---|---|---|
| 函数 | 将对指定可迭代对象的每个元素调用的函数。 | 必需 |
| 可迭代对象 | 要映射的可迭代对象 | 必需 |
`map()` 返回的值(map 对象)可以传递给 `list()`(创建列表)、`set()`(创建集合)等函数。
| 输入 | 返回值 |
|---|---|
| 可迭代对象 | 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)
输出
numbers = (1, 2, 3, 4)
result = map(lambda x: x*x, numbers)
print(result)
# converting map object to set
numbersSquare = set(result)
print(numbersSquare)
输出
num1 = [4, 5, 6]
num2 = [5, 6, 7]
result = map(lambda n1, n2: n1+n2, num1, num2)
print(list(result))
输出
[9, 11, 13]
# map() with string
map_iterator = map(to_upper_case, 'abc')
print(type(map_iterator))
print_iterator(map_iterator)
输出
A B C