0
0

More than 1 year has passed since last update.

pythonのenumerateのこと(備忘録)

Posted at

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: おやすみ

遅延評価のメリット

例えば、膨大な量のデータを格納したリストを想像する。このリストの要素をすべて一気に呼び出すのと遅延評価で、必要な分だけ呼び出すのはどちらがいいだろうか?
メモリの消費量や実行時間を考えた時、後者の方が圧倒的に優勢だろう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0