如果我们想减少大量代码的使用,避开频繁使用循环语句是一种方法,但也不是没有别的办法可以选择的。小编先给大家一点提示,往函数方面考虑。没错,我们有专门的函数可以把列表中的数据进行细化,这里用到了映射的思想,所以最终map函数的代码都是很简短的。下面我们就map在列表中的使用给大家展开讲解。
map()方法会将一个函数映射到序列的每一个元素上,生成新序列,包含所有函数返回值。
也就是说序列里每一个元素都被当做x变量,放到一个函数f(x)里,其结果是f(x1)、f(x2)、f(x3)......组成的新序列。
通俗的讲就是:map()它接收一个函数 f 和一个 可迭代对象(这里理解成 list),并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回。
map() 函数语法:
参数:function -- 函数、iterable -- 一个或多个序列
下面实例展示map( )用法:
defsquare(x):#计算平方数 returnx**2 map(square,[1,2,3,4,5])#计算列表各个元素的平方
结果返回:[1, 4, 9, 16, 25]
map(lambdax:x**2,[1,2,3,4,5])#使用lambda匿名函数
结果:[1, 4, 9, 16, 25]
#提供了两个列表,对相同位置的列表数据进行相加 map(lambdax,y:x+y,[1,3,5,7,9],[2,4,6,8,10])
结果:[3, 7, 11, 15, 19]
在使用map函数前,最先需要理解的就是其中用到的映射过程,关于映射这点在数学中都有讲过,如果没学会的可以看看我们上面的映射分析图片,今天关于map对列表代码进行简化的方法到这里就结束啦。