python map()
函数通过回调函数或者lamda表达式的方式修改可迭代对象的每个元素。它不会改变原有可迭代对象。
语法
语法如下:map(function,iterable,...)
参数
- function: 回调函数或lamda表达式。
- iterable:可迭代对象。
返回值
Python 2.x 返回迭代对象。
Python 3.x 返回迭代器。
程序示例
介绍一些例子了解该函数的使用方法。
例1
python3.x 中回调函数的例子
#!/usr/bin/python
# coding=utf-8
def add(x):
return x+2
list = [1,2,3,4,5]
list2 = tuple(map(add, list)) #格式化处理,如果放在python2.x中不需要格式化处理
print('原有list', list)
print('迭代后的list', list2)
程序运行结果:
原有list [1, 2, 3, 4, 5]
迭代后的list (3, 4, 5, 6, 7)
迭代后的list (3, 4, 5, 6, 7)
例2
lamda表达式的例子
#!/usr/bin/python
# coding=utf-8
list = [1,2,3,4,5]
list2 = tuple(map(lambda x: x+2, [1, 2, 3, 4, 5]) ) #lambda后格式化处理
print('原有list', list)
print('迭代后的list', list2)
print(list(map(lambda n,m: n*m, (1,2,3),(5,6,7)))) #多个参数
程序运行结果:
原有list [1, 2, 3, 4, 5]
迭代后的list (3, 4, 5, 6, 7)
[5, 12, 21]
迭代后的list (3, 4, 5, 6, 7)
[5, 12, 21]