描述:
map()会根据提供的函数对指定序列做映射.
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
语法:
map(function, iterable, ...)
- function -- 函数,有两个参数
- iterable -- 一个或多个序列
返回值
Python 2.x 返回列表。
Python 3.x 返回迭代器。
一,定义一个list
num_1 = [1,2,10,5,3,7]
实现每个值乘以2
num_1 = [1,2,10,5,3,7] # ret=[] # for i in num_1: # ret.append(i**2) # print (ret)
那么现在实现这么一个需求,可能是加1,可能是减1,也可能是平方
num = [1,2,3,4] def add_one(x): reture x+1 def reduce_one(x): return x-1 def map_test(func,array): ret=[] for i in array: res = func(i) ret.append(res) return ret #可以直接在打印输出部分执行各种你想要执行的操作 print(map_test(add_one,num)) print(map_test(reduce_one,num))
上面那种方法单独定义了加减操作函数,这样还不够精简,更精简的写法如下:(输出直接是匿名函数来写)
num = [1,2,3,4] def map_test(func,array): ret=[] for i in array: res = func(i) ret.append(res) return ret #可以直接在打印输出部分执行各种你想要执行的操作 print(map_test(lambda x:x+1,num)) print(map_test(lambda x:x-1,num))
终结版本:用map函数处理
print list(map(lambda x:x+1,num_1))