43. Python map()

发布时间:2023-12-08

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