2012-10-12 106 views
0

我想知道如果我只是想以優雅和Python的方式獲得數組的索引,我應該如何去做。我可能也使用範圍(0,LEN(陣列)),但有沒有更好的辦法索引for循環python

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

那麼這有什麼問題? – vartec

+0

如何去索引一個索引 - 一種愚蠢的問題,但概率將使用枚舉來獲得索引 – user1741339

+0

使用枚舉:http://docs.python.org/library/functions.html#enumerate – hughdbrown

回答

3

enumerate被遍歷在Python的數組(如果你需要的「Python的」,最好的辦法指數和要素)。

2

通常情況下,我會用enumerate

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

下劃線是習慣說「我需要這個開箱時要避免語法錯誤,但我不打算使用的結果」。

但是如果你需要指標,它也是可以接受的(在我看來)做:

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

注意,僅需要對指數是罕見的。根據使用情況,您可以經常避免需要它與司法使用zip或其他內置函數...

+0

最後一行爲+1。 _Pythonic_方式(這不一定是正確的方式)是避免使用索引。 – Dave

0

枚舉是其他許多人說的方式。只是,如果你不打算使用J A建議:

for i, _ in in enumerate (array) : 

或者:

for i, foo in in enumerate (array) : 

這樣你就不會感到困惑,這是更優雅一點。