【Python】内置函数 enumerate

本文详细介绍了Python中enumerate函数的用法及其实现原理,通过实例展示了如何在遍历各种序列如列表、元组、字典时同时获取索引与元素,以及如何自定义起始索引值,简化了遍历过程并提供了更优雅的代码风格。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

介绍
在解析mysqlbinlog dump出来的binlog的时候学习了一个函数 --enumerate。官方的定义如下:
  1. def enumerate(collection,N=0):
  2.     'Generates an indexed series: (0,coll[0]), (1,coll[1]) ...'
  3.     i = N
  4.     it = iter(collection)
  5.     while 1:
  6.         yield (i, it.next())
  7.         i += 1
N 是索引起始值 比如 enumerate(list,2) 索引是从2 开始。
通常我们需要遍历序列如 字符串,字典,列表,也要遍历其索引时,我们会使用for 循环来解决 
  1. for i in range (0,len(list)):
  2.        print i ,list[i]
使用内置enumerrate函数会有更加直接,优美的做法
  1. for idx,name in enumerate(list)):
  2.     print idx,name
如何使用该函数
  1. #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 开始的。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值