How to Use Python's xrange and range | Python Central
The only difference is that range
returns a Python list
object and xrange
returns an xrange
object.
What does that mean? Good question! It means that xrange
doesn'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. If you want to read more in depth about generators and the yield keyword, be sure to checkout the article Python generators and the yield keyword.
Okay, now what does that mean? Another good question. That means that if you have a really gigantic range you'd like to generate a list for, say one billion, xrange
is the function to use. 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 MemoryError
and crash your program. It's a memory hungry beast.
Read full article from How to Use Python's xrange and range | Python Central
Refer python xrange vs range for complete differance
ReplyDelete