Python之map函数

描述:

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))

猜你喜欢

转载自www.cnblogs.com/wangyue0925/p/8945538.html