Pythonのenumerateはインデックス番号取得

Pythonのenumerateでインデックス番号を取得

enumerateはインデックス番号取得

Pythonのenumerateのサンプルコード

Pythonのenumerateのサンプルコード

enumerate() は、イテラブル(リストやタプルなど)の要素と同時にインデックス番号(カウント、順番)を取得する組み込み関数です。

使い方は以下の通り

enumerate(iterable, start=0)

iterable : イテレータ(リスト、タプル、文字列など)

start : インデックスの数え始める数(デフォルトは0)

戻り値:enumerateオブジェクト

インデックス付きの要素を取得するには、for文やリスト内包表記を使用します。

以下は、for分でタプルのインデックス要素を取得する例です。

# サンプルコード
tuple_data = ("apple", "orange", "banana")

for i, t in enumerate(tuple_data):
print("インデックス番号: {}, 要素: {}".format(i, t))

関連)Pythonのfor文の解説 

実行するとこうなります。

インデックス番号: 0, 要素: apple
インデックス番号: 1, 要素: orange
インデックス番号: 2, 要素: banana

pythonのenumerateを逆順にする

eneumerateとreversedで逆順に

リストの逆順にインデックス番号をつけるには、reversedで順序を逆転します。reversedの関使スト

mylist = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J"]

for i, v in enumerate(reversed(mylist)):
print(f'index:{i}, value:{v}')

実行するとこうなります。

index:0, value:J
index:1, value:I
index:2, value:H
index:3, value:G
index:4, value:F
index:5, value:E
index:6, value:D
index:7, value:C
index:8, value:B
index:9, value:A

内包表記だと以下のようになります。

#内包表記
[(i, sample_list[i]) for i in range(len(sample_list))]

実行するとこうなります。

[(0, 'A'), (1, 'B'), (2, 'C'), (3, 'D'), (4, 'E'), (5, 'F'), (6, 'G'), (7, 'H'), (8, 'I'), (9, 'J')]

pythonのenumerateでインデックス番号と値をzipでタプル化

enumerateとzipでタプル化

enumerateで取り出したリストの値とインデックス番号を組み合わせてタプル化し、リストにするには以下のようにします。

my_list = ['apple', 'banana', 'orange', 'peach', 'pineapple', 'strawberry', 'mango', 'grape', 'melon', 'kiwi']

for index, value in enumerate(my_list):
print(list(zip(index, value)))

実行するとこうなります。

[(0, 'apple')]
[(1, 'banana')]
[(2, 'orange')]
[(3, 'peach')]
[(4, 'pineapple')]
[(5, 'strawberry')]
[(6, 'mango')]
[(7, 'grape')]
[(8, 'melon')]
[(9, 'kiwi')]

 

pythonのenumerateでdic(辞書)からインデックスと要素を取得

辞書型にenumerate

sortedを使って、ソートした辞書オブジェクトから、キー、値のタプルとインデックス番号を取得するには以下のようにします。

dic = {1: 'olive', 5: 'apple', 3: 'banana', 7: 'coconut', 9: 'fig', 0: 'grape', 6: 'mango', 4: 'orange', 8: 'pear', 2: 'strawberry'}

for index, (key, value) in enumerate(sorted(dic.items())):
print(f'Index:{index} tKey:{key} tValue:{value}')

forループで、インデックス、キー、値を取り出しています。

関連)Pythonのfor文の解説 ループを使う方法

実行するとこうなります。

Index:0 Key:0 Value:grape
Index:1 Key:1 Value:olive
Index:2 Key:2 Value:strawberry
Index:3 Key:3 Value:banana
Index:4 Key:4 Value:orange
Index:5 Key:5 Value:apple
Index:6 Key:6 Value:mango
Index:7 Key:7 Value:coconut
Index:8 Key:8 Value:pear
Index:9 Key:9 Value:fig

pythonのenumerateのまとめ

pythonのenumerateのまとめ

  • enumarate()関数はインデックス付きの要素を取得するのに便利な関数です。
  • forループの中で使用することで、インデックスと要素を同時に取得することができます。
  • 要素をインデックス付きで取得することで、要素を反復処理する際の効率を高めることができます。