功能:map() 会根据提供的函数对指定序列做映射。map()的两个参数一个是函数名,另一个是列表或元组。处理后的结果,是一个列表 元素位置未改动
map函数中第二个传的参数 只要是可迭代对象就行
map() 函数语法:
map(function, iterable, ...)
1.需求,得到一个新的列表,元素的值为原来元素值的平方------>用for循环实现
num_1 = [1,2,10,5,4,6] print(num_1) ret = [] for i in num_1: ret.append(i**2) print(ret)2.简易版本使用函数实现列表元素平方功能封装
num_1 = [1,2,10,5,4,6] print(num_1) def map_test(arry): ret = [] for i in num_1: ret.append(i**2) return ret ret = map_test(num_1) print(ret)3.终极版本实现 使用匿名函数传值并实现元素加1功能封装
num_1 = [1,2,10,5,4,6] def map_test(func,arry): ret = [] for i in arry: res = func(i) ret.append(res) return ret print(map_test(lambda x:x+1,num_1))4.map函数:可以传lambda x:x+1形式的函数,也可以传有实际名称的自定义函数
示例:使用map函数实现 序列中的元素+1功能
num_1 = [1,2,10,5,4,6] res = map(lambda x:x+1,num_1) print('内置函数map,处理结果',res) print(list(res))5.map函数后面跟有自定义函数
num_1 = [1,2,10,5,4,6] def reduce_one(x): return x-1 print('传的是有名函数',list(map(reduce_one,num_1)))6.map()的两个参数一个是函数名,另一个是列表或元组,字符串也可以。
msg = 'lihaifeng'#字符串 print(list(map(lambda x:x.upper(),msg)))
转载于:https://www.cnblogs.com/renzhiqiang/p/10930539.html
相关资源:数据结构—成绩单生成器