欢迎来到小居数码网-一家分享数码知识,生活小常识的网站,希望可以帮助到您。

当前位置:生活小常识 > 数码知识 >
优质

pythonmap用法(python中map函数的使用)

数码知识

丁益优秀作者

原创内容 来源:小居数码网 时间:2024-08-14 18:42:01 阅读() 收藏:40 分享:70

导读:您正在阅读的是关于【数码知识】的问题,本文由科普作家协会,生活小能手,著名生活达人等整理监督编写。本文有1119个文字,大小约为5KB,预计阅读时间3分钟。

这篇文章我们将通过几个小例子,介绍一下Python中map函数的使用,开头的几个例子,主要是介绍map的语法使用技术,最后我们会通过一个实际工作中的例子,演示一下map的实际应用案例,使读者有一个更加感性的认识。由于Python2和Python3对map进行了调整,所以本文将以Python2为例进行介绍。

python中map函数的使用

map函数的第1个参数是一个函数,第2个参数是一个序列(sequence)或者是可以迭代的对象,返回值是一个列表(list)。map函数的工作流程就是迭代第2个参数中的每一个元素,将其传递给第1个参数指定的函数中,经过处理后,再把所有的元素组合成一个列表。说起来比较拗口,我们来个基本的小例子,演示一下。

在这个例子中,我们假定计算一下指定列表对应的平方数和立方数。map函数将针对list_sample1中的每一个元素,逐一调用square,并完成计算后,返回对应的平方数。最终结果是一个立方数的列表。在本例中,1,2,3,4对应的平方数为1,4,9,16,立方数为1,8,27,64。map函数依次计算1*1=1,2*2=4,3*3=9,4*4=16。最后形成列表[1,4,9,16]。程序的运行结果如下:

上面的程序演示了基本的用法,而map函数是可以传入多个序列或可迭代对象的,当传入两个序列或可迭代对象时,map函数将依次根据两个序列的对应位置的元素,即A列表的第1个元素对应B列表的第1个元素应用指定函数进行处理。下面我们看个实例。

在这个例子中两个列表的元素是1-->11,2-->12,3-->13,4-->14。因此每次multiple函数在调用时,都是成对传入参数,比如第1次传入1和11,而1*11=11,所以返回11;第2次传入2和12,则2*12=24,返回24。以此类推,3*13=39,4*14=56,最后形成列表返回值。

既然map可以传入两个列表,就会存在两个列表长度不一致的情况,在这种情况下,Python会将较短的列表扩展长度,用None来补齐。因此就像下面的例子一样,[11, 12, 13]就变成了[11, 12, 13, None]。相应的函数算法也要进行一些调整。程序如下:

在这个程序中,由于None没有办法进行乘法计算,所以我们使用if x and y来判断一下。如果有值为None,我们就返回-1。在本例中,由于第二个列表(list_sample2)的第4个元素,被Python扩展成None,所以无法进行4*None的计算。所以最后的结果就是-1。以下是程序的运行结果:

通过上面的例子,我们介绍了map的语法使用技术。map的英文翻译是映射。因此它的主要作用就是把一个序列按照"某些规则"映射到另一个序列上,而这个某些规则,就是我们"指定的函数"。下面我们通过一个实际工作中的案例看一下map的应用。我们假定一个银行的各家分行都向总行报送报表数据。但是由于是人工上报,所以大家对分行名称的使用都不统一,有的使用城市名称,比如哈尔滨,七台河,有的使用分行名称,比如牡丹江分行,大连分行,这就导致当把所有分行的数据汇总到一起之后,分行名称这列风格不统一。那么我们就可以通过map函数进行映射,将风格不同的多个名称映射到同一个名称上。

例如,无论你是写成"哈尔滨分行",还是"哈尔滨",最终都将映射成"哈尔滨分行"。七台河,虽然没有写分行,但是我们也映射到"七台河分行"上。在上图的左侧,各家的分行名称风格不同,但是经过映射后,右侧的风格就保持了统一。下面我们来看一下源代码:

process_branch函数是我们处理分行名称的函数,我们查找一下字符串是否有分行,如果有分行,则说明分行名称的风格是正确的,如果没有"分行"字样,我们就给它加上"分行"两个字,再返回。

通过执行结果,我们看到原来分行上报的各种风格的名称,我们都对应到了我们指定的几个名称上。比如哈尔滨分行就是哈尔滨分行,不会再有"哈尔滨"。统一或者说唯一的名称,将为我们后续筛选,汇总数据等操作提供基础的保障。

以上就是关于map函数的使用介绍,如果有朋友打印过程中出现乱码,一定注意我们使用了import uniout,如果您的机器上没有,可以使用pip安装一下。

我使用的环境:Windows 7 + Python 2.7.17 + PyCharm Community Edition 2016.1.5

上面就是小居数码小编今天给大家介绍的关于(python中map函数的使用)的全部内容,希望可以帮助到你,想了解更多关于数码知识的问题,欢迎关注我们,并收藏,转发,分享。

94%的朋友还想知道的:

(353)个朋友认为回复得到帮助。

部分文章信息来源于以及网友投稿,转载请说明出处。

本文标题:pythonmap用法(python中map函数的使用):http://sjzlt.cn/shuma/155658.html

猜你喜欢