問題一覧に戻る
中級高度なデータ操作
問題65: itertools入門
itertoolsモジュールは、効率的なループ処理のための強力なツールを提供します。count()は無限カウンタ、cycle()はイテラブルを無限に繰り返し、repeat()は値を指定回数繰り返します。これらの関数は遅延評価を行うため、メモリ効率的に大量のデータを扱えます。
# itertools入門
import itertools
# count() - 無限カウンタ
counter = itertools.()
for i in range(5):
print(f"カウント: {next(counter)}")
# cycle() - リストを無限に繰り返す
colors = ["赤", "青", "黄"]
color_cycle = itertools.(colors)
for i in range(7):
print(f"{i}: {next(color_cycle)}")
# repeat() - 値を指定回数繰り返す
repeated = list(itertools.("Python", 3))
print("繰り返し:", repeated)