Python内置函数map详解 基本用法 多个可迭代对象 注意事项——《跟老吕学Python编程》
Python内置函数map()详解
在Python编程中,map()
是一个内置的高阶函数,它接收一个函数和一个或多个可迭代对象作为参数,并返回一个迭代器,该迭代器将函数应用于每个可迭代对象的相应元素。换句话说,map()
函数将一个函数应用于给定可迭代对象的所有元素,并收集结果。
基本用法
下面是一个基本的map()
函数的用法示例:
def square(x):
return x ** 2
numbers = [1, 2, 3, 4, 5]
squared = map(square, numbers)
print(list(squared)) # 输出: [1, 4, 9, 16, 25]
在这个例子中,map()
函数接收了一个名为square
的函数和一个名为numbers
的列表。它将square
函数应用于numbers
列表中的每个元素,并返回一个新的迭代器,其中包含应用square
函数后的结果。
多个可迭代对象
map()
函数也可以接收多个可迭代对象,并将函数应用于这些对象的对应元素。这要求函数接受与可迭代对象数量相同的参数。
def add(x, y):
return x + y
numbers1 = [1, 2, 3]
numbers2 = [4, 5, 6]
sums = map(add, numbers1, numbers2)
print(list(sums)) # 输出: [5, 7, 9]
在这个例子中,map()
函数接收了add
函数、numbers1
列表和numbers2
列表。它将add
函数应用于numbers1
和numbers2
的对应元素,并返回一个新的迭代器,其中包含应用add
函数后的结果。
注意事项
map()
函数返回的是一个迭代器,所以如果你需要多次访问结果,或者需要列表的某些方法(如len()
),你需要先将结果转换为列表。- 如果传入的函数接收多个参数,那么
map()
函数也可以接收多个可迭代对象。这些可迭代对象的长度必须相同,否则map()
函数会在最短的可迭代对象耗尽时停止。 - 由于
map()
函数是惰性求值的,所以它只会在迭代结果时才计算值,这有助于节省内存。
通过理解map()
函数的这些细节,你可以更有效地使用它来简化代码并提高程序的效率。
👨💻博主Python老吕说:如果您觉得本文有帮助,辛苦您🙏帮忙点赞、收藏、评论,您的举手之劳将对我提供了无限的写作动力!🤞
🔥精品付费专栏:《跟老吕学Python编程》、《Python游戏开发实战讲解》、《Python Web开发实战》、《Python网络爬虫实战》、《Python APP开发实战》
🌐前端:《HTML》、《CSS》、《JavaScript》、《Vue》
💻后端:《C语言》、《C++语言》、《Java语言》、《R语言》、《Ruby语言》、《PHP语言》、《Go语言》、《C#语言》、《Swift语言》、《跟老吕学Python编程·附录资料》
💾数据库:《Oracle》、《MYSQL》、《SQL》、《PostgreSQL》、《MongoDB》