logo

Your Questions / Our Solutions


Jese Leos

Helpdice Team

What is the difference between range & xrange?

<p>For the most part, xrange and range are the exact same in terms of functionality. They both provide a way to generate a list of integers for you to use, however you please. The only difference is that range returns a Python list object and x range returns an xrange object.</p> <p>This&nbsp;means that xrange doesn&rsquo;t actually generate a static list at run-time like range does. It creates the values as you need them with a special technique called yielding. This technique is used with a type of object known as generators.&nbsp;That means that if you have a really gigantic range you&rsquo;d like to generate a list for, say one billion, xrange is the function to use.</p> <p>This is especially true if you have a really memory sensitive system such as a cell phone that you are working with, as range will use as much memory as it can to create your array of integers, which can result in a Memory Error and crash your program. It&rsquo;s a memory hungry beast.</p>
  • Share On: