2012-03-01 45 views
37

我需要在Python做的一样:计数指标在Python

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

,但我不知道如何使用Python中获得的元素的索引列表。

+0

什么元素?什么名单? – Sean 2012-03-01 21:15:09

+0

我没有把名单。我需要的是简单地获取列表中的元素索引。通常我会在C++或Java中使用FOR来获取这些信息。 在这种情况下,假设列表是[“a”,“b”,“c”],我需要a,b和c(0,1和2)的索引。 – 2012-03-01 21:18:12

+3

http://stackoverflow.com/questions/522563/accessing-the-index-in-python-for-loops – WolframH 2012-03-01 22:19:39

回答

58

如果你有一些定列表,并希望遍历其项目指数,你可以使用enumerate()

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

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

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

更好使用xrange()而不是范围()在这种情况下;) – n1r3 2012-03-01 21:22:42

+0

我虽然'范围(len(my_list))'应该避免? (对我来说,我会'枚举',但只使用'索引')。 – neizod 2012-03-01 21:24:48

+0

@ n1r3:最好在'xrange()'之前教'range()'。 – 2012-03-01 21:25:19

0

This?

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

这对我很有用,因为我已经知道我总是有5件物品。 :)但在其他情况下,我需要得到未知数量的元素索引。 – 2012-03-01 21:27:04

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 
9

如果你有一个现有的服务,您要循环,并保持跟踪你可以使用enumerate功能的指标。例如对于

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

在additon到其他的答案 - 很多时候,你没有使用索引来遍历,但你可以简单地使用for-每个表达式:

my_list = ['a', 'b', 'c'] 
for item in my_list: 
    print item 
+0

在这种情况下,它将返回项目,而不是其索引。 =/ – 2012-03-01 21:19:53

+0

右键 - 使用枚举()或范围内的索引(len(my_list))然后 – alex 2012-03-01 21:22:01

1

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

​​