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

问题描述 投票:42回答:7

我需要在Python中做同样的事情:

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

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

python for-loop count indexing
7个回答
70
投票

如果你有一些给定的列表,并想迭代其项目和索引,你可以使用enumerate()

for index, item in enumerate(my_list):
    print index, item

如果您只需要索引,则可以使用range()

for i in range(len(my_list)):
    print i

20
投票

只是用

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

迭代您的数据集并打印每个值。

对于大型数据集,您希望使用xrange,它具有非常相似的签名,但对于较大的数据集更有效。 http://docs.python.org/library/functions.html#xrange


14
投票

如果你有一个现有的列表,并且你想循环它并跟踪索引,你可以使用enumerate函数。例如

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

8
投票

使用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

1
投票

我想要的最简单的方法是;

i = -1
for step in my_list:
    i += 1
    print(i)

#OR - WE CAN CHANGE THE ORDER OF EXECUTION - SEEMS MORE REASONABLE

i = 0
for step in my_list:
    print(i) #DO SOMETHING THEN INCREASE "i"
    i += 1

0
投票

这个?

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

0
投票

除了其他答案 - 通常,您不必使用索引进行迭代,但您可以简单地使用for-each表达式:

my_list = ['a', 'b', 'c']
for item in my_list:
    print item
© www.soinside.com 2019 - 2024. All rights reserved.