{{cell.content}}
enumerate python用法为:enumerate(iterable, start=0),参数iterable为一个可迭代对象,start表示索引起始值。该函数用于将一个可遍历的数据对象(如列表、元组或字符串)组合为一个索引序列,返回一个enumerate对象实例。本文详解其用法。
enumerate()函数语法
enumerate()在Python中是一个内置函数,简单来说该函数就是把一个可迭代对象实例变为一个带索引的enumerate对象实例返回,本质上这个enumerate也是一个可迭代对象。语法如下:
enumerate(iterable, start=0)
参数解释:
iterable->一个可遍历的数据对象实例
start->索引对象实例的起始索引值
可以理解为enumerate自动为可迭代对象每一个元素加了一个索引值,然后返回了一个enumerate对象实例,而这个实例也是一个可迭代对象(可以使用for循环遍历每个元素)。
>>>
<enumerate object at 0x00000202EDE145C0>
有点绕口,下面我们用几个例子来展示其用法。
英文字母编号输出
我们给英文小写字母编上号,打印输出:
默认起始索引值为0,也可以使用start参数控制。
统计文件行数
有一个文本文件,我们想知道这个文件的行数。并且,检索某一文本在第几行出现过。这个问题怎么用Python来实现呢?
我们从网上下载了一个《水浒传》的txt文本,来统计下总共有多少行,以及“武松”在书中出现的次数,并统计出现在第几行?代码如下:
大家可以使用open()函数直接读取,遍历统计行数。但是,使用enumerate()函数时,速度方面明显有优势的。可以一试!下面我们来看另一个案例。
根据成绩排名
李老师把学生的成绩统计在了一个字典中。我们需要对字典中的成绩进行排名输出。用Python如何实现呢?
代码如下:
成功实现这一需求,这里需要注意的是,sorted()函数对字典按键排序的方法。这个方法经常用到哦。
解析多个变量
除了上面,enumerate()还有一个有意思的用法。试想,如果我们想把前一个例子中的打印输出更精确一点呢。比如,实现下图的效果。
这里我们利用enumerate实现了一个“解包”效果。源代码如下:
好了,今天内容就到这里,小伙伴掌握了么?我没解释到位的地方请下方留言或者进群讨论。
想了解更多精彩内容,快来关注python高手养成
特别声明:本文为人民日报新媒体平台“人民号”作者上传并发布,仅代表作者观点。人民日报提供信息发布平台。
写下你的评论
{{cell.content}}
{{item.content}}
{{item.content}}