访问“ for”循环中的索引?

python学习网 2021-04-12 15:42:03

如何for在如下所示循环中访问索引

ints = [8, 23, 45, 12, 78]
for i in ints:
    print('item #{} = {}'.format(???, i))

我想得到以下输出:

item #1 = 8
item #2 = 23
item #3 = 45
item #4 = 12
item #5 = 78


  

解决方案

使用其他状态变量,例如索引变量(通常在C或PHP等语言中使用),被认为是非Python的。

更好的选择是使用内置功能enumerate(),该功能在Python 2和3中均可用:

for idx, val in enumerate(ints):
    print(idx, val)

结论

  • Python索引从零开始
  • 要在迭代过程中从迭代器获取这些索引,请使用枚举函数
  • 以惯用方式使用枚举(以及元组拆包)将创建更易读和可维护的代码:

这样做:

for index, item in enumerate(items, start=0):   # Python indexes start at zero
    print(index, item)
 

本文首发于python黑洞网,博客园同步跟新

 

 
阅读(1458) 评论(0)