合 Python中的map函数
简介
map()会根据提供的函数对指定序列做映射。map()函数语法:
1 | map(function,iterable,...) |
map()参数:
function:函数
iterable:一个或多个序列
第一个参数function以参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的新列表。
map函数的返回值在Python 2中返回列表,在Python 3中返回迭代器。
map()函数示例
1 2 3 4 5 6 7 8 9 | def square(x): # 计算平方数 return x ** 2 print(list(map(square, [1, 2, 3, 4, 5]))) # 计算列表各个元素的平方,[1, 4, 9, 16, 25] print(list(map(lambda x: x ** 2, [1, 2, 3, 4, 5]))) # 使用 lambda 匿名函数,[1, 4, 9, 16, 25] # 提供了两个列表,对相同位置的列表数据进行相加,[3, 7, 11, 15, 19] print(list(map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4, 6, 8, 10]))) |
运行结果:
1 2 3 | [1, 4, 9, 16, 25] [1, 4, 9, 16, 25] [3, 7, 11, 15, 19] |
几个示例
map(str,[1,2,3,4,5,6,7,8,9])输出什么?Python 2和Python 3输出的结果一样吗?
在Python中执行以下代码:
1 2 3 4 | from collections import Iterable,Iterator print(map(str,[1,2,3,4,5,6,7,8,9])) print(isinstance(map(str,[1,2,3,4,5,6,7,8,9]),Iterable)) print(isinstance(map(str,[1,2,3,4,5,6,7,8,9]),Iterator)) |