Python 2.X の 'range' 関数と 'xrange' 関数の違い
Python 2.X では、'range' 関数と 'xrange' 関数が表示されます非常に似ており、どちらも指定された範囲内の一連の数値を生成します。ただし、この 2 つには基本的な違いがいくつかあります。
主な違い
メモリ管理:
-
'range': シーケンスのすべての要素を保持するリストをメモリ内に作成します。範囲が大きい場合、メモリを大量に消費する可能性があります。
-
'xrange': 数値を遅延評価し、一度に 1 つずつ生成します。シーケンス全体をメモリに保存する必要はありません。
Speed:
-
'range':メモリ内のリスト、サイズが大きい場合は遅くなる可能性がありますranges.
-
'xrange': 遅延評価されるシーケンス オブジェクトであるため、特に大きな範囲の場合に大幅に高速化されます。
Python バージョンでの使用法
Python 2.X:
- 'range' はリストを作成します (例: range(0, 20) = [0, 1, 2, ..., 19])
- 'xrange' はシーケンス オブジェクトを生成しますが、それをメモリに保存しません (例: xrange(0, 20))
Python 3:
- 'range' は Python 2 の 'xrange' と同等の処理を行います (シーケンス オブジェクトを生成します)
- 'xrange' は Python には存在しません3
以上がPython 2.x の「range」関数と「xrange」関数の違いは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。