内置函数map()

it2024-12-02  18

功能:map() 会根据提供的函数对指定序列做映射。map()的两个参数一个是函数名,另一个是列表或元组。处理后的结果,是一个列表 元素位置未改动

 map函数中第二个传的参数 只要是可迭代对象就行

语法

map() 函数语法:

map(function, iterable, ...)

参数

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

相关资源:数据结构—成绩单生成器
最新回复(0)