map()函数会根据提供的函数对指定序列做映射
语法
map(function, iterable)
map()函数接收两个参数,一个是函数function,一个是iterable,map将传入的函数function依次作用到序列iterable的每个元素,并把结果作为新的iterator返回
参数
function: 函数
iterable: 1个或多个序列
例1: 计算平方数
def square(x):
return x ** 2
# 计算列表各个元素的平方
map(square, [1,2,3,4,5]) # <map at 0x17206b29630>
# 使用list()转换为列表
list(map(square, [1,2,3,4,5])) # [1, 4, 9, 16, 25]
# 使用lambda匿名函数
list(map(lambda x: x ** 2, [1, 2, 3, 4, 5])) # [1, 4, 9, 16, 25]
例2: 对相同位置的列表数据进行相加
# [3, 7, 11, 15, 19]
list(map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))
例3: 将列表list中的所有数字转换为字符串
# ['1', '2', '3', '4', '5', '6', '7', '8', '9']
list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
例4: 利用map()函数将f(x) = 作用于列表[1, 2, 3, 4, 5, 6, 7, 8, 9]中的每个元素
def fn(x):
return x * x
# [1, 4, 9, 16, 25, 36, 49, 64, 81]
list(map(fn, [1, 2, 3, 4, 5, 6, 7, 8, 9]))