先看看语法:
map(function, iterable, ...)
第一个参数接受一个函数名,后面的参数接受一个或多个可迭代的序列,返回的是一个集合。
参数:
- function -- 函数名
- iterable -- 一个或多个序列
返回值:(版本不同,返回值也不同,现在一般都在用3.0以上了吧)
- Python 2.x 返回列表。
- Python 3.x 返回迭代器。
>>> 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]
当不传入function时,map( ) 将多个列表相同位置的元素归并到一个元组:
map(None,[2,4,6],[3,2,1])
# 结果如下
[(2,3),(4,2),(6,1)]
通过map还可以实现类型转换,将元组转换为list:
map(int,(1,2,3))
# 结果如下:
[1,2,3]