描述
map() 会根据提供的函数对指定序列做映射。即map接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
语法
map(function, iterable, ...)
注意:经常和list结合使用,因为map(function, iterable, …)只是返回迭代器。
参数解释
- function:函数
- iterable:一个或多个序列
示例
示例1 计算平方和
def square(x) : # 计算平方数
... return x ** 2
...
>>> map(square, [1,2,3,4,5]) # 计算列表各个元素的平方
<map object at 0x100d3d550> # 返回迭代器
>>> list(map(square, [1,2,3,4,5])) # 使用 list() 转换为列表
[1, 4, 9, 16, 25]
>>> list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) # 使用 lambda 匿名函数
[1, 4, 9, 16, 25]
示例2 求矩阵行列最大值
# 返回矩阵的行列最大值
grid = [[3,0,8,4],[2,4,5,7],[9,2,6,3],[0,3,1,0]]
rowMax = list(map(max, grid)) #返回[8,7,9,3]
colMax = list(map(max, zip(*grid))) #返回[9,4,8,7]