Python 3 range Vs Python 2 range

Python 3 uses iterators for a lot of things where python 2 used lists.The docs give a detailed explanation including the change to range.

The advantage is that Python 3 doesn’t need to allocate the memory if you’re using a large range iterator or mapping.
For example

for i in range(1000000000): print(i)

requires a lot less memory in python 3.
If you do happen to want Python to expand out the list all at once you can

list_of_range = list(range(10))

Leave a Comment