Python map()
更新:2022-07-24 11:11
内置函数 map()
有助于对指定的可迭代对象(列表、元组、集合、字典、字符串等)的每个元素执行给定的函数,并返回结果列表。
map(function, iterable, ...) # 其中 iterable 可以是列表、元组等
map()
参数:
map()
函数接受两个参数。我们可以将多个迭代器对象传递给 map()
函数,在这种情况下,给定的函数必须有那么多参数。
参数 | 描述 | 必需/可选 |
---|---|---|
function | 为指定 iterable 的每个元素调用的函数。 | 必需 |
iterable | 要映射的可迭代 | 必需 |
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)
输出:
<map object at ...>
{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)
输出:
<map object at ...>
{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)
输出:
<class 'map'>
A B C