エレガントでPythonの方法で配列のインデックスを取得したいだけなのか、どうすればよいのか疑問に思いました。range(0、len(array))を使用することもできますが、もっと良い方法があります
def array(self):
array = ['a','b','c']
for i , j in enumerate (array) :
print i
いいえenumerate
。これは「Pythonic」であり、Pythonで配列を反復処理するための最良の方法です(インデックスと要素が必要な場合)。
通常、私は使用します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) :
そうすれば、混乱することもなく、もう少しエレガントになります。