Avec Python 3, la fonction range ne retourne pas directement une liste, mais un objet de type range :

>>> interval = range(10)
>>> print(interval)
range(0, 10)
>>> print(type(interval))
<class 'range'>

Cet objet contient plusieurs attributs qui vous permettent d'obtenir des informations sur ce range :

>>> interval.start
0
>>> interval.step
1
>>> interval.stop
10

Si vous souhaitez récupérer cet objet range sous la forme d'une liste, il suffit de le convertir avec la fonction list :

>>> interval = list(interval)
>>> print(interval)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(type(interval))
<class 'list'>

Si vous utilisez Python 2, vous obtenez directement une liste, donc pas besoin de faire la conversion.

# Python 2.7.15
>>> interval = range(10)
>>> print(interval)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> print(type(interval))
<type 'list'>

L'objet range retourné par la fonction range est un itérable : vous n'avez donc pas besoin d'effectuer de conversion en liste pour pouvoir boucler sur un objet range.

Il s'agit juste d'un changement visuel permettant de voir les nombres à l'intérieur de l'objet généré par la fonction range.