2.1.5.4 Les types séquences variables

Il est possible de faire des opérations de modification sur place des listes. Ces opérations peuvent être applicables à tout autre type de séquence variable. Les chaînes de caractères et les tuples sont des séquences invariables et ces objets ne peuvent être modifiés une fois créés. Les opérations suivantes ne sont applicables qu'aux types séquences variables (où x est un objet choisi arbitrairement):

Opération Résultat Notes 
s[i] = x l'élément i de s est remplacé par x 
s[i:j] = t l'intervalle dans s de i à j est remplacé par t 
del s[i:j] identique à s[i:j] = [] 
s.append(x) identique à s[len(s):len(s)] = [x](1)
s.extend(x) identique à s[len(s):len(s)] = x(2)
s.count(x) retourne le nombre de i pour lesquels s[i] == x 
s.index(x) retourne le plus petit i tel que s[i] == x(3)
s.insert(i, x) identique à s[i:i] = [x] si i >= 0 
s.pop([i]) identique à x = s[i]; del s[i]; return x(4)
s.remove(x) identique à del s[s.index(x)](3)
s.reverse() inverse sur place l'ordre des éléments de s(5)
s.sort([cmpfunc]) trie sur place les éléments de s(5), (6)

Notes:

(1)
L'implémentation C de Python acceptait historiquement plusieurs paramètres et les fusionnait dans un tuple. Cela ne fonctionne plus dans la version 2.0 de Python. L'utilisation de cette particularité a été désapprouvée depuis la version 1.4 de Python.

(2)
Une exception est levée si x n'est pas un objet liste. La méthode extend() est expérimentale et n'est pas applicable à d'autres types séquences variables que les listes.

(3)
Lève une exception ValueError si x est absent de s.

(4)
La méthode pop() est seulement applicable aux listes et aux tableaux. L'argument optionnel i vaut par défaut -1et donc le dernier élément est retourné par défaut.

(5)
Les méthodes sort() et reverse() modifient directement la liste (sur place) par souci d'économie de place quand la liste est de grade taille. Ces méthodes ne retournent pas la liste résultat volontairement, pour bien rappeler cet effet de bord.

(6)
La méthode sort() prend un argument optionnel spécifiant la fonction de comparaison à deux arguments (éléments de liste). Cette fonction doit retourner -1, 0 ou 1 suivant que le premier argument du test est considéré inférieur, égal ou bien supérieur au second argument du test. Il faut remarquer que ceci ralentit le tri de façon notable. Par exemple, il est bien plus rapide d'utiliser la fonction sort() puis reverse() plutôt que de faire sort() avec une fonction de comparaison inverse.