使用Python中的“for”计算索引

47

我需要在Python中做与以下内容相同的事情:

for (i = 0; i < 5; i++) {cout << i;} 

但我不知道如何在Python中使用FOR循环来获取列表中元素的索引。


我没有放列表。我需要的只是获取列表中元素的索引。通常我会使用C++或Java中的FOR循环来获取这些信息。在这种情况下,假设列表为["a", "b", "c"],我需要a、b和c的索引(0、1和2)。 - Lucas Rezende
3
重复的问题:如何在Python循环中访问索引? - Reinstate Monica
1
在发布问题之前,你应该真正查看一下Python文档。这里是链接:http://docs.python.org/2/tutorial/controlflow.html#the-range-function。此外,我建议你阅读一本Python程序员的书籍,因为你似乎对Python不是很了解,但是理解其他语言的基础知识。你也可以简单地阅读那个教程,它会告诉你所有你需要知道的东西。 - Jacqlyn
1
你的问题的简短回答是使用 for i in range(5) - Jacqlyn
6个回答

阿里云服务器只需要99元/年,新老用户同享,点击查看详情
81
如果您有一个给定的列表,并且想要遍历其项目和索引,则可以使用enumerate()
for index, item in enumerate(my_list):
    print index, item
如果您只需要索引,可以使用 range() 函数:
for i in range(len(my_list)):
    print i

在这种情况下最好使用xrange()而不是range() ;) - n1r3
我认为应该避免使用range(len(my_list)),对于我来说,我会使用enumerate但只使用索引。 - neizod
@neizod:只需要索引的情况实际上相当少见,但如果这是你需要的全部内容,没有理由避免使用 range(len(my_list))(或在Python 2.x中使用 xrange(len(my_list)))。 - Sven Marnach
顺便提一下,当您使用 range() 方法时,您也可以获取该项:只需使用 print my_list[i] - Remi Guan

22
只需使用。
for i in range(0, 5):
    print i

迭代遍历数据集并打印每个值。

对于大型数据集,建议使用xrange,它具有非常相似的签名,但对于更大的数据集工作效率更高。 http://docs.python.org/library/functions.html#xrange


18

如果你有一个现成的列表,需要循环遍历它并跟踪索引,可以使用 enumerate 函数。例如:

l = ["apple", "pear", "banana"]
for i, fruit in enumerate(l):
   print "index", i, "is", fruit

10

使用enumerate函数:

>>> l = ['a', 'b', 'c', 'd']
>>> for index, val in enumerate(l):
...    print "%d: %s" % (index, val)
... 
0: a
1: b
2: c
3: d

0

这个?

for i in range(0,5): 
 print(i)

这对我来说可行,因为我已经知道我将始终拥有5个项目。 :) 但在其他情况下,我需要获取未知数量元素的索引。 - Lucas Rezende

0
除了其他答案之外,很多时候你不必使用索引进行迭代,而是可以直接使用 for-each 表达式:
my_list = ['a', 'b', 'c']
for item in my_list:
    print item

在这种情况下,它会返回给我项,而不是索引。 =/ - Lucas Rezende
使用enumerate()或者for index in range(len(my_list))来获取正确的结果。 - alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,