python enumerate函数的使用方法总结
enumerate函数用于遍历序列中的元素以及它们的下标。
enumerate函数说明:
enumerate()是python的内置函数
enumerate在字典上是枚举、列举的意思
函数原型:enumerate(sequence,[start=0])
功能:将可循环序列sequence以start开始分别列出序列数据和数据下标
即对一个可遍历的数据对象(如列表、元组或字符串),enumerate会将该数据对象组合为一个索引序列,同时列出数据和数据下标。
举例说明:
存在一个sequence,对其使用enumerate将会得到如下结果:
startsequence[0] start+1sequence[1] start+2sequence[2]......
适用版本:
- Python2.3+
- Python2.x
注意:在python2.6以后新增了start参数
英文解释:
Returnanenumerateobject.sequencemustbeasequence,aniterator,orsomeotherobjectwhichsupportsiteration.Thenext()methodoftheiteratorreturnedbyenumerate()returnsatuplecontainingacount(fromstartwhichdefaultsto0)andthevaluesobtainedfromiteratingoversequence。
代码实例:
enumerate参数为可遍历的变量,如字符串,列表等;返回值为enumerate类。
importstring s=string.ascii_lowercase e=enumerate(s) prints printlist(e)
输出为:
abcdefghij [(0,'a'),(1,'b'),(2,'c'),(3,'d'),(4,'e'),(5,'f'),(6,'g'),(7,'h'),(8,'i'),(9,'j')]
在同时需要index和value值的时候可以使用enumerate。
该实例中,line是个string包含0和1,要把1都找出来:
defxread_line(line): return((idx,int(val))foridx,valinenumerate(line)ifval!='0') printread_line('0001110101') printlist(xread_line('0001110101'))
如果对一个列表,既要遍历索引又要遍历元素时,首先可以这样写:
list1=["这","是","一个","测试"] foriinrange(len(list1)): printi,list1[i]
上述方法有些累赘,利用enumerate()会更加直接和优美:
list1=["这","是","一个","测试"] forindex,iteminenumerate(list1): printindex,item >>> 0这 1是 2一个 3测试
enumerate还可以接收第二个参数,用于指定索引起始值,如:
list1=["这","是","一个","测试"] forindex,iteminenumerate(list1,1): printindex,item >>> 1这 2是 3一个 4测试
补充
如果要统计文件的行数,可以这样写:
count=len(open(filepath,'r').readlines())
这种方法简单,但是可能比较慢,当文件比较大时甚至不能工作。
可以利用enumerate():
count=0 forindex,lineinenumerate(open(filepath,'r')): count+=1
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。