python enumerate用法

原文:http://blog.csdn.net/xyw_blog/article/details/18401237

python中我们可以这样遍历数组(字符串、元组、列表等):

[python]  view plain  copy
 print ?
  1. for item in sequence:  
  2.        process(item)  
这种方式,我们只获得sequence中的值,没有获得索引

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

[python]  view plain  copy
 print ?
  1. for index, key in enumerate(sequence):  
  2.       process(index, key)  
如果你想对sequence中的元素作逆置后处理,可以:

[python]  view plain  copy
 print ?
  1. for index, key in enumerate(sequence[::-1]):  
  2.      process(index, key)  
举例说明:

[python]  view plain  copy
 print ?
  1. >>> seq = 'hello'  
  2. >>> for i,key in enumerate(seq):  
  3. ...     print 'seq[%d]=%s' % (i, key)  
  4. ...   
  5. seq[0]=h  
  6. seq[1]=e  
  7. seq[2]=l  
  8. seq[3]=l  
  9. seq[4]=o  
[python]  view plain  copy
 print ?
  1. >>> seq = ['a','b','c','d']  
  2. >>> for i,key in enumerate(seq):  
  3. ...     print 'seq[%d]=%s' % (i, key)  
  4. ...   
  5. seq[0]=a  
  6. seq[1]=b  
  7. seq[2]=c  
  8. seq[3]=d  
[python]  view plain  copy
 print ?
  1. >>> seq = ['a','b','c','d']  
  2. >>> for i,key in enumerate(seq[::-1]):  
  3. ...     print 'seq[%d]=%s' % (i, key)  
  4. ...   
  5. seq[0]=d  
  6. seq[1]=c  
  7. seq[2]=b  
  8. seq[3]=a  

猜你喜欢

转载自blog.csdn.net/u012282037/article/details/74289437
今日推荐