我想知道我是否只是想以优雅和 python 的方式获取数组的索引,我应该如何去做。我也可以使用范围(0,len(array)),但是有更好的方法吗
def array(self):
array = ['a','b','c']
for i , j in enumerate (array) :
print i
不enumerate
,是在 Python 中迭代数组的“pythonic”和最佳方式(如果您需要索引和元素)。
通常,我会使用enumerate
:
for i,_ in enumerate(myiter):
...
下划线习惯性地说“我需要这个来避免解包时出现语法错误,但我不会使用结果”。
但是,如果您只需要索引,那么(在我看来)也可以这样做:
for i in xrange(len(lst)): #range for py3k.
...
请注意,仅需要索引的情况很少见。根据用例,您通常可以通过司法使用zip
或其他内置函数来避免需要它...
正如许多其他人所说,枚举是要走的路。如果您不打算使用 j,只是一个建议:
for i, _ in in enumerate (array) :
或者:
for i, foo in in enumerate (array) :
这样你就不会感到困惑,而且更优雅一点。