Python高阶函数map() 简介和使用详解

  • Post category:Python

Python高阶函数map() 简介和使用详解

什么是map()函数?

map()是Python中的高阶函数(higher-order function),它接受一个函数和一个可迭代对象(iterable),并通过将函数应用于可迭代对象的每个元素来创建一个新的可迭代对象,从而返回一个新的列表。

基本用法是:map(function, iterable),其中function是我们想要应用于iterable中每个元素的函数,iterable可以是列表、元组、集合等可迭代的对象。

map()函数的返回值

map()函数返回一个迭代器,而不是列表。如果需要将迭代器转换为列表,可以使用list()函数。

使用map()函数的示例

假设我们有一个列表,需要将其中的每个元素都转换为其平方值。这可以通过使用map()函数和一个简单的lambda函数来完成。

original_list = [1, 2, 3, 4, 5]
squared_list = list(map(lambda x: x**2, original_list))
print(squared_list)

输出结果为:

[1, 4, 9, 16, 25]

上述代码中,我们将original_list作为延迟函数计算的输入,lambda函数返回每个元素的平方,然后将结果存储在另一个列表squared_list中。

另一个示例是将一个字符串列表转换为其每个字符串的长度。

string_list = ['apple', 'banana', 'cherry']
length_list = list(map(len, string_list))
print(length_list)

输出结果为:

[5, 6, 6]

上述代码中,我们将string_list作为len()函数计算的输入,该函数返回每个字符串的长度,然后将结果存储在另一个列表length_list中。

总结

使用map()函数可以更简洁地操作可迭代对象,无需使用循环和临时变量来完成。它是Python中的一个强大而灵活的函数,是一个值得掌握的技能。