制御フロー(条件分岐・ループ)比較問題

range()とリスト直接指定を使ったforループの違いについて、正しい説明はどれですか?

A.range()は数値列を生成し、リスト直接指定より高速でメモリ効率が良い(Python 3では)← 正解
✓ 正解です。Python 3のrange()はジェネレータ式で、全体をメモリに保持しません
B.range()はリストより常に値が小さく制限される
✗ range()の値の大きさはパラメータで決まり、リストより小さく制限されるわけではありません
C.リスト直接指定はホルダーへのアクセスのみで、range()はイテレータを使用する
✗ リスト直接指定もイテレータプロトコルを使用します。この説明は不正確です
D.range()とリスト直接指定は全く同じ挙動をするため、区別する必要はない
✗ range()とリスト直接指定はメモリ効率が異なり、遅延評価などの点で違います

Python 3 エンジニア認定基礎試験 の問題一覧