map()函数主要功能是对批量的元素进行相同的操作时可以大幅度的缩减代码。
map函数参数详解:
map(param1,param2,***)
param1:函数名 ,要对批量元素进行处理的function
param2~paramX:可迭代对象,(列表,元祖,迭代器...换句话说:能执行 for x in param:语句的都可以)
map只有两个参数时:
例如:
1 >>> def function(x): 2 ... return x*x 3 ... 4 >>> list1 = [1,2,3] 5 >>> map(function,list1) 6 [1, 4, 9] 7 >>>
map参数为多个时:
需要注意的是:map参数的个数 与function参数个数的关系:map参数个数为x个,function个数为x-1个,否则会报错
例如(出错的情况):
1 >>> def function(x): 2 ... return x*x 3 ... 4 >>> list1 = [1,2,3] 5 >>> list2 = [4,5,6] 6 >>> list3 = [7,8,9] 7 >>> map(function,list1,list2,list3) 8 Traceback (most recent call last): 9 File "<stdin>", line 1, in <module> 10 TypeError: function() takes exactly 1 argument (3 given)
正确的用法应该是:
1 >>> def function(x,y,z): 2 ... return x+y+z 3 ... 4 >>> list1 = [1,2,3] 5 >>> list2 = [4,5,6] 6 >>> list3 = [7,8,9] 7 >>> map(function,list1,list2,list3) 8 [12, 15, 18]