>クリックはこちら

【毎日Python】Pythonでインデックスと値をセットで取得する方法|enumerate

Pythonでデータのインデックスと値をセットで取得する方法です。
使用するのは、Pythonの組み込み関数のenumerate関数です。
enumerate関数は、for文と組み合わせて使用することが多い関数です。 

このようなリストを用意します。
for文でこのリストのインデックスと値を取得してみましょう。
リストのインデックス、それぞれの変数をi,jと指定します。

l = ['apple', 'orange', 'peach']  

まず、インデックスと値の変数を指定します。
続けて、inの後にenumerate関数を記述し、引数にリストの変数を指定します。
最後に、print関数で表示させてみましょう。
実行します。
リストの各要素のインデックスと値を取得することができました。

l = ['apple', 'orange', 'peach']

for i,j in enumerate(l): 
    print(i,j)

実行結果:

0 apple
1 orange
2 peach

次に、辞書で試してみましょう。
先ほどと同じようにfor文で実行します。
辞書の各要素のインデックスとキーを取得することができました。
このように、辞書をオブジェクトに指定すると、キーが値として取得されます。

d = {'apple':100, 'orange':200, 'peach':300}

for i,j in enumerate(d): 
    print(i,j)

実行結果:

0 apple
1 orange
2 peach

最後に、文字列で試してみましょう。
文字列でも問題なく取得することができました。

str = 'Python'

for i,j in enumerate(str): 
    print(i,j)

実行結果:

0 P
1 y
2 t
3 h
4 o
5 n

なお、引数startで、インデックスの開始番号を指定することができます。
実行します。
インデックスが10から開始されていることが確認できました。

str = 'Python'

for i,j in enumerate(str,start=10): 
    print(i,j)

実行結果:

10 P
11 y
12 t
13 h
14 o
15 n

関連メソッド

【毎日Python】Pythonで複数のリストの要素をまとめて取得する方法|zip