enumerate 関数とは
要素の配列のインデックス*1と、要素を同時に取り出すことができます。
実行例
コード
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 終わりました。
参考書籍
リンク
以上