enumerate 関数
CoddyのPythonジャーニー「Fundamentals」セクションの一部 — レッスン 61/77。
enumerate()関数を使用すると、各要素のインデックス位置を把握しながら、シーケンス(リスト、タプル、文字列など)をループ処理することができます。
enumerate() を使わずに、インデックスと値の両方にアクセスするには、次のように記述します:
fruits = ["apple", "banana", "orange"]
for i in range(len(fruits)):
print(f"Index {i}: {fruits[i]}")enumerate() は、インデックスと値の両方を取得するためのよりエレガントな方法です:
fruits = ["apple", "banana", "orange"]
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")どちらの例も以下のように出力します:
Index 0: apple
Index 1: banana
Index 2: orangeチャレンジ
簡単数値のリストを処理し、enumerate() 関数を使用して特定のインデックスを見つけるプログラムを作成してください。
タスク: カンマ区切りの数値リストを入力として受け取り、以下のいずれかの条件を満たす数値のインデックスのリストを出力してください。
- 数値が 50 未満である、または
- 数値が 5 で割り切れる(5 で割った余りが 0 である)
例:
入力: 80,4,99,36,34
- 80 (インデックス 0): 50 以上だが 5 で割り切れる → インデックス 0 を含める
- 4 (インデックス 1): 50 未満 → インデックス 1 を含める
- 99 (インデックス 2): 50 以上かつ 5 で割り切れない → 除外
- 36 (インデックス 3): 50 未満 → インデックス 3 を含める
- 34 (インデックス 4): 50 未満 → インデックス 4 を含める
出力: [0, 1, 3, 4]
チートシート
enumerate()関数を使用すると、各項目のインデックス位置を追跡しながらシーケンスをループ処理できます:
fruits = ["apple", "banana", "orange"]
for index, fruit in enumerate(fruits):
print(f"Index {index}: {fruit}")出力結果は以下の通りです:
Index 0: apple
Index 1: banana
Index 2: orange自分で試してみよう
lst = list(map(int, input().split(",")))
# 以下にコードを記述してくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。