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
終わりました。
以上