\

Pythonのforループとxrange()について解説します。Python 2.xでは、ループ処理をする際の繰り返し回数を指定したり、繰り返しの値をリストに格納したい時にrange()やxrange()を使います。

range()とxrange()の基本

range()とxrange()は、Python 2.xで使用される関数で、ループ処理をする際の繰り返し回数を指定したり、繰り返しの値をリストに格納するために使われます。

for i in range(0, 5, 1):
    print(i)

for i in xrange(0, 5, 1):
    print(i)

上記の例では、range(0, 5, 1)xrange(0, 5, 1)は同じ結果を出力します。これらの関数は3つの引数を取ります。

  1. 繰り返しの開始となる値
  2. 繰り返しの回数
  3. 増加 (減少)する量

range()とxrange()の違い

range()とxrange()の主な違いは、range()がリストを返し、xrange()がイテレータを返す点です。この違いは、ループ処理をした時のメモリ負荷を考えた時に出てきます。

例えば、ループで1000000回といった大量のループをする際、range()でループをしようとすると、range()はまずはじめに0から999999の値を格納したリストを作ってしまいます。これではメモリに負荷をかけてしまいます。

それを解決するのが、xrange()です。xrange()はイテレータといって、次の要素にアクセスすることを繰り返すインターフェースを返しています。これにより、逐次処理ができるようになり、初めに膨大なメモリを確保しなくても良くなりました。

Python 3.xとxrange()

Python 3.xでは、xrange()は使用できません。その代わりに、range()がイテレータを返すようになりました。そのため、Python 3.xでは、大量のループ処理を行う際でもメモリ効率が良くなりました。

以上、Pythonのforループとxrange()についての解説でした。この記事がPythonの学習に役立つことを願っています。

投稿者 admin

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です