目次
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: りんごさん
関連記事
- 【完全ガイド】PythonでCSV出力する方法を徹底解説!
- 【完全ガイド】pyenvをインストールしてPythonバージョンを効率的に管理!
- Python入門講座 基本概念編!データ型・演算子・文字列を理解しよう!
- Python入門講座 制御構造編!if文・for文・while文を理解しよう!
- Python入門講座 関数とモジュール編!コードを機能毎にまとめてみよう!
- Python入門講座 データ構造編!リスト・タプル・辞書・セットを理解しよう!
- Python入門講座 ファイル操作編!読み込み・書き込み・追記を身に着けよう!
- Python入門講座 エラーと例外処理編!信頼性の高いプログラムを作ろう!
- Python入門講座 オブジェクト指向プログラミング編!クラス・オブジェクトを理解しよう!
- Python入門講座 ライブラリとフレームワーク編!効率的にコーディングしよう!