for文で、数字と要素を出力してみる
list_sample = ["おはよう", "こんにちわ", "おやすみ"]
for i in range(len(list_sample)):
greeting = list_sample[i]
print(f"{i+1}: {greeting}")
>>>
1: おはよう
2: こんにちわ
3: おやすみ
enumerateを使ってみる
enumerateは遅延評価です。つまり、リスト型のような一度の呼び出しですべて呼び出されるわけではなく、値を要求されたら1個、再度要求されたらまた1個…と要素を評価する。
enumerateを使うと以下のようにコードが簡潔になる。
list_sample = ["おはよう", "こんにちわ", "おやすみ"]
for i, greeting in enumerate(list_sample, 1):
print(f"{i}: {greeting}")
>>>
1: おはよう
2: こんにちわ
3: おやすみ
遅延評価のメリット
例えば、膨大な量のデータを格納したリストを想像する。このリストの要素をすべて一気に呼び出すのと遅延評価で、必要な分だけ呼び出すのはどちらがいいだろうか?
メモリの消費量や実行時間を考えた時、後者の方が圧倒的に優勢だろう。