【Python入門】enumerate関数の使い方完全ガイド!

Pythonのenumerate関数の使い方を詳しく解説しています。リストやタプルなどのイテラブルオブジェクトの要素とインデックスを同時に取得する方法や、開始インデックスの指定、基本的な構文、実践的な例など、enumerate関数の活用法を網羅的に紹介しています。
目次

Pythonのenumerateの基本的な使い方

enumerateとは

enumerateは、Pythonの組み込み関数の1つで、イテラブルオブジェクト(リストやタプルなど)の要素とそのインデックスを同時に取得できる便利な機能です。

基本的な構文

enumerateの基本的な構文は以下の通りです。

for index, value in enumerate(iterable):
    # 処理

ここで、iterableは反復可能なオブジェクト(リストやタプルなど)を指します。

具体的な使用例

以下に、enumerateの具体的な使用例を示します。

fruits = ['りんご', 'みかん', '白桃']

for i, fruit in enumerate(fruits):
    print(f'{i}: {fruit}さん')

実行結果:

0: りんごさん
1: みかんさん
2: 白桃さん

この例では、fruitsリストの各要素とそのインデックスを同時に取得し出力しています。

enumerateの応用

開始インデックスの指定

enumerateは、デフォルトでインデックスを0から始めますが、start引数を使用することで開始インデックスを指定できます。

fruits = ['りんご', 'みかん', '白桃']

for i, fruit in enumerate(fruits, start=1):
    print(f'{i}: {fruit}さん')

実行結果:

1: りんごさん
2: みかんさん
3: 白桃さん

リスト内包表記との組み合わせ

enumerateはリスト内包表記と組み合わせることもできます。

fruits = ['りんご', 'みかん', '白桃']
indexed_fruits = [f'{i}: {fruit}さん' for i, fruit in enumerate(fruits, start=1)]
print(indexed_fruits)

実行結果:

['1: りんごさん', '2: みかんさん', '3: 白桃さん']

enumerateの活用シーン

複数のリストの同時処理

enumerateは、zip関数と組み合わせることで、複数のリストを同時に処理する際にも便利です。

fruits = ['りんご', 'みかん', '白桃']
prices = [100, 80, 120]

for i, (fruit, price) in enumerate(zip(fruits, prices), start=1):
    print(f'{i}. {fruit}さんの価格: {price}円')

実行結果:

1. りんごさんの価格: 100円
2. みかんさんの価格: 80円
3. 白桃さんの価格: 120円

辞書の処理

enumerateは辞書の処理にも使用できます。

ただし、辞書のキーのみが返されることに注意してください。

fruits_dict = {'りんご': 100, 'みかん': 80, '白桃': 120}

for i, key in enumerate(fruits_dict, start=1):
    print(f'{i}. {key}さん: {fruits_dict[key]}円')

実行結果:

1. りんごさん: 100円
2. みかんさん: 80円
3. 白桃さん: 120円

enumerateの注意点

パフォーマンスへの影響

enumerateは、イテレータを使用するため、メモリ効率が良いとされています。

しかし、大量のデータを処理する場合は、パフォーマンスに注意を払う必要があります。

逆順の処理

enumerateオブジェクト自体は反転できません。

逆順に処理したい場合は、以下のようにreversed関数と組み合わせて使用します。

fruits = ['りんご', 'みかん', '白桃']

for i, fruit in reversed(list(enumerate(fruits))):
    print(f'{i}: {fruit}さん')

実行結果:

2: 白桃さん
1: みかんさん
0: りんごさん

関連記事

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次