zl程序教程

您现在的位置是:首页 >  后端

当前栏目

【Python】内置函数 enumerate

Python 函数 内置 enumerate
2023-09-14 08:57:29 时间
介绍

在解析mysqlbinlog dump出来的binlog的时候学习了一个函数 --enumerate。官方的定义如下:


def enumerate(collection,N=0):

 Generates an indexed series: (0,coll[0]), (1,coll[1]) ...

 i = N

 it = iter(collection)

 while 1:

 yield (i, it.next())

 i += 1 


N 是索引起始值 比如 enumerate(list,2) 索引是从2 开始。
通常我们需要遍历序列如 字符串,字典,列表,也要遍历其索引时,我们会使用for 循环来解决 


for i in range (0,len(list)):

 print i ,list[i] 

使用内置enumerrate函数会有更加直接,优美的做法


for idx,name in enumerate(list)):

 print idx,name 


如何使用该函数


#coding=utf-8

List = [a, b, c]

print (list(enumerate(List)))

Tuple = (youzan, SAAS, work,Mac)

print(list(enumerate(Tuple)))

Dict = {"city":"HANGZHOU", company:"youzan", dba:yangyi}

print(list(enumerate(Dict, 2)))

Str = YOUZAN!

print(list(enumerate(Str, 1))) 

运行结果


注意 Dict 和Str 使用 enmerate 函数的起始值分别从2  1 开始的。



# enumerate 将可迭代序列中的元素所在的下标和具体元素数据组合在一起,变成元组 for j in enumerate(my_list):