enumerate 関数
CoddyのPythonジャーニー「Fundamentals」セクションの一部。レッスン 61/77。
enumerate()関数を使うと、各項目のインデックス位置を追跡しながら、シーケンス(list、tuple、string など)をループ処理できます。
enumerate()がなければ、次のようにindexと値の両方にアクセスします。
fruits = ["apple", "banana", "orange"]
for i in range(len(fruits)):
print(f"Index {i}: {fruits[i]}")enumerate() は、index と値の両方を取得するより洗練された方法です:
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()関数を使用して、数値のリストを処理し、特定のインデックスを見つけるプログラムを書いてください。
課題: カンマ区切りの数値リストを入力として受け取り、次のいずれかの条件を満たす数値のindexのリストを出力してください。
- 数値が below 50、または
- 数値が5で割り切れる(5で割ったときの余りが0)
例:
入力: 80,4,99,36,34
- 80(index 0): ≥50ですが、5で割り切れる → index 0を含める
- 4(index 1): <50 → index 1を含める
- 99(index 2): ≥50で、5で割り切れない → 除外
- 36(index 3): <50 → index 3を含める
- 34(index 4): <50 → index 4を含める
出力: [0, 1, 3, 4]
自分で試してみよう
lst = list(map(int, input().split(",")))
# 以下にコードを書いてくださいこのレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
Fundamentalsのすべてのレッスン
自分で練習してみよう: Pythonオンラインコンパイラ