Python の enumerate 関数について

enumerate 関数とは

要素の配列のインデックス[1]ある要素が list の中で何番目かを示すものと、要素を同時に取り出すことができます。

実行例

次のコードを実行します。

tips = ['Network', 'Server', 'Security']
for i, j in enumerate(tips):
  print('{0}:{1}'.format(i, j))

出力結果は次のとおりです。

0:Network
1:Server   
2:Security 

解説

コードの記述方法は、次のとおりです。

for 変数1, 変数2 in enumerate(リスト):
  print(‘{0}:{1}’.format(変数1, 変数2))

リストの要素を取り出し、変数 2 には要素の値、変数 1 にはインデックス[2]要素の番号を代入します。
リストの要素が複数ある場合は、空になるまで繰り返し代入しつづけます。

文字列とインデックスを取り出す

以下の例では、「Network」「Server」「Security」の文字列を前から順番に取り出し、変数(var)に文字列を代入し、変数(i)にインデックスを代入しています。つまり、文字列だけでなく、インデックスを取り出したい場合に便利な関数です。

tips = ['Network', 'Server', 'Security']
for i, var in enumerate(tips):
  print(i, var)

出力結果は次のとおりです。

0 Network
1 Server   
2 Security 

全ての要素を取り出すまで「メッセージ」を出力する場合は、次のように書きます。
if 文を組み合わせて、インデックスが 0 になるまで pint 処理を実行しています。

tips = ['Network', 'Server', 'Security']
for i, var in enumerate(tips):
    if i > 0:
        print('まだだ、まだ終わらんよ!')
    print(var)
print('終わりました。')

出力結果は次のとおりです。

Network
まだだ、まだ終わらんよ!
Server
まだだ、まだ終わらんよ!
Security
終わりました。

参考:TECHACADEMY マガジン

以上

脚注

脚注
1ある要素が list の中で何番目かを示すもの
2要素の番号