python enumerate用法

通常情况下我们在C++中遍历数组的方法为:

for(int i=0; i<list.length; i++)
{
    //deal with list[i]
}
python中我们可以这样遍历数组(字符串、元组、列表等):

for item in sequence:
       process(item)
这种方式,我们只获得sequence中的值,没有获得索引

for index in range(len(sequence)):
    process(sequence[index])
这种方式可以获得索引以及对应的值。但是这显得很繁琐。python其实提供了内置的enumerate函数可以同时获得索引和值,可以这样实现:

for index, key in enumerate(sequence):
      process(index, key)
如果你想对sequence中的元素作逆置后处理,可以:

for index, key in enumerate(sequence[::-1]):
     process(index, key)
举例说明:

>>> seq = 'hello'
>>> for i,key in enumerate(seq):
...     print 'seq[%d]=%s' % (i, key)
... 
seq[0]=h
seq[1]=e
seq[2]=l
seq[3]=l
seq[4]=o
>>> seq = ['a','b','c','d']
>>> for i,key in enumerate(seq):
...     print 'seq[%d]=%s' % (i, key)
... 
seq[0]=a
seq[1]=b
seq[2]=c
seq[3]=d
>>> seq = ['a','b','c','d']
>>> for i,key in enumerate(seq[::-1]):
...     print 'seq[%d]=%s' % (i, key)
... 
seq[0]=d
seq[1]=c
seq[2]=b
seq[3]=a

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值