python 内置函数

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)

例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]