range

Python

Le type range est une séquence non mutable qui est le plus souvent utilisée pour contrôler une itération (boucle).

class range(stop) # stop ne fait pas pas partie. On s'arrête avant stop, donc 0..stop-1

class range(start, stop[, step])

On peut utiliser range pour initialiser une liste. range donne les éléments que la liste contiendra

list(range(10)) # 10 éléments de 0 à stop-1 [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
list(range(1, 11)) # [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] list(range(0, 30, 5)) # stop ne fait jamais partie une liste 6 éléments [0, 5, 10, 15, 20, 25]
list(range(0, 10, 3)) # une liste de 4 éléments[0, 3, 6, 9] list(range(0, -10, -1)) # une liste de 10 éléments [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] -10 ne fait pas non plus partie list(range(0)) # une liste vide [] list(range(1, 0)) # idem []

Range est une séquence (on a donc les opérations d'une séquence) : indexation, appartenance (x in s), itération (for i in range (...) ...), la fonction len (), et les méthodes suivantes:

range.count (x)

Renvoie le nombre de i pour lesquels s[i] == x.

range.index (x)

Renvoie le plus petit i tels que s[i] == x. Déclenche ValueError quand x n'est pas dans l'intervalle.

Utilisez xrange au lieu de range dans une boucle for par exemple quand la cardinalité est importante

range construit la séquence avant de commencer l'exécution de la boucle for. xrange éviter cette utilisation de la mémoire en calculant l'élément suivant au fur et à mesure de l'exécution de l'instruction for.

for i in range(n) :

for in xrange(n) : # à utiliser quand n est grand

Autres fonctions

Le module numpy fournit une fonction arange.

Sage, mais ce n'est pas du Python, fournit une généralisation sous la forme de la fonction srange et la fonction xsrange (xsrange est à srange ce que xrange de Python est à range - cf ci-dessus).

» Glossaire du langage python