python map函数 day16
num_1 = [1,2,10,5,3,7] # ret = [] # for i in num_1: # ret.append(i**2) # print(ret) def map_test(array): ret = [] for i in num_1: ret.append(i**2) return ret ret = map_test(num_1) print(ret)
map() 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
定义函数后,可以较为轻松的修改各种运算方法
num_1 = [1,2,10,5,3,7] # ret = [] # for i in num_1: # ret.append(i**2) # print(ret) def add_one(x): return x+1 def reduce_one(x): return x-1 def map_test(func,array): ret = [] for i in num_1: res = func(i) ret.append(res) return ret print(map_test(reduce_one,num_1))
匿名函数可以替换 lambda x:x+1
num_1 = [1,2,10,5,3,7] def add_one(x):#=lambda:x=x+1 return x+1 def reduce_one(x): return x-1 def map_test(func,array): ret = [] for i in num_1: res = func(i) ret.append(res) return ret print(map_test(reduce_one,num_1)) print(map_test(lambda x:x+1,num_1))
num_1 = [1,2,10,5,3,7] def add_one(x):#=lambda:x=x+1 return x+1 def reduce_one(x): return x-1 def map_test(func,array): ret = [] for i in num_1: res = func(i) ret.append(res) return ret print(map_test(reduce_one,num_1)) print(map_test(lambda x:x+1,num_1)) res = map_test(lambda x:x+1,num_1) print('内置函数map,处理结果',res) print(list(res)) print('传的是自定义函数',list(map(reduce_one,num_1)))
每个字符变大写
msg = 'asdfg' print(list(map(lambda x:x.upper(),msg)))