0

我想知道我是否只是想以优雅和 python 的方式获取数组的索引,我应该如何去做。我也可以使用范围(0,len(array)),但是有更好的方法吗

def array(self):
    array = ['a','b','c']
    for i , j in enumerate (array) :
        print i
4

3 回答 3

3

enumerate,是在 Python 中迭代数组的“pythonic”和最佳方式(如果您需要索引和元素)。

于 2012-10-12T15:03:33.230 回答
2

通常,我会使用enumerate

for i,_ in enumerate(myiter):
    ...

下划线习惯性地说“我需要这个来避免解包时出现语法错误,但我不会使用结果”。

但是,如果您需要索引,那么(在我看来)也可以这样做:

for i in xrange(len(lst)):  #range for py3k.
    ...

请注意,仅需要索引的情况很少见。根据用例,您通常可以通过司法使用zip或其他内置函数来避免需要它...

于 2012-10-12T15:13:04.320 回答
0

正如许多其他人所说,枚举是要走的路。如果您不打算使用 j,只是一个建议:

for i, _ in in enumerate (array) :

或者:

for i, foo in in enumerate (array) :

这样你就不会感到困惑,而且更优雅一点。

于 2012-10-12T15:13:14.507 回答