< Python
fin de la boite de navigation du chapitre

Listes

Une liste est une structure qui contient un certain nombre d'éléments, dans un certain ordre. Cette structure permet d'ajouter et de supprimer des éléments n’importe où dans la séquence.

Création d'une liste

Pour créer une liste, il suffit de mettre des éléments séparés par une virgule entre crochets.

Exemple
l = []                           ## Liste vide
l = ['a', 1, "Bonjour le monde"] ## Liste avec mélange de types
Fin de l'exemple

Python permet aussi de créer des compréhensions de listes. La syntaxe Python pour de telle liste est la suivante : [expression for variable in séquence (if condition)].

Exemple
>>> [i for i in range(1, 10)]
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> [i for i in range(1, 10) if i % 2]
[1, 3, 5, 7, 9]
>>> [i ** 2 for i in range(1, 10) if i % 2]
[1, 9, 25, 49, 81]
Fin de l'exemple

Accesseurs/Modifieurs d'une liste

Python vous permet d'accéder facilement aux propriétés et éléments d'une liste. Pour accéder à un élément de la liste, il suffit d’utiliser l'opérateur []. Attention cependant, les indices commencent à 0.

Attention : la fonction "range(indice_debut,indice_fin)" permet de faire référence à une liste d'éléments non modifiable dans l'intervalle indice_debut inclus et indice_fin exclus.
Pour pouvoir modifier cette liste, il faut en faire une copie grâce à la méthode list()
De même, l'opérateur une_liste[indice_debut:indice_fin:pas] appelle une liste d'éléments entre indice_debut et indice_fin non compris, et avec un certain pas (écart).
Exemple
>>> l = range(1, 10)
>>> l
range(1, 10)
>>> l = list(l)
>>> l
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> l[5]
6
>>> l[0:5]
[1, 2, 3, 4, 5]
>>> l[0:5:2]
[1, 3, 5]
>>> l[3] = 14
>>> l
[1, 2, 3, 14, 5, 6, 7, 8, 9]
>>> l[0:5:2] = [11, 13, 15]
>>> l
[11, 2, 13, 14, 15, 6, 7, 8, 9]
Fin de l'exemple

Ajout d'éléments

Vous pouvez ajouter des éléments à une séquence existante. La méthode "append" ajoute un simple élément à la fin de la liste. La méthode "extend" concatène une séquence à la liste. La méthode "insert" ajoute un élément à un indice donné et décale les autres éléments vers la droite.

Exemple
>>> l = [1, 2, 3]
>>> l
[1, 2, 3]
>>> l.append(4)            ## ajoute l'élément 4 à la fin de la liste
>>> l
[1, 2, 3, 4]
>>> l.append([1, 2])       ## ajoute l'élément liste [1, 2] à la fin de la liste
>>> l
[1, 2, 3, 4, [1, 2]]
>>> l.insert(1, 22)        ## insère l'élément 22 à la position 1
>>> l
[1, 22, 2, 3, 4, [1, 2]]
>>> l.extend(1)            ## erreur extend prend une liste en paramètre
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
TypeError: iteration over non-sequence
>>> l.extend([5, 6])       ## concatène la liste [5, 6] à la fin de la liste
>>> l
[1, 22, 2, 3, 4, [1, 2], 5, 6]+
>>> len(l)
8
Fin de l'exemple

Suppression d'éléments

La méthode "remove" permet de supprimer la première occurrence d'une valeur dans une liste.

Exemple
>>> l = [1, 22, 2, 3, 4, [1, 2], 5, 6]
[1, 22, 2, 3, 4, [1, 2], 5, 6]
>>> del l[1]               ## suppression de l'élément d'indice 1
>>> l
[1, 2, 3, 4, [1, 2], 5, 6] 
>>> l.remove(2)            ## suppression de la première occurrence de 2
>>> l
[1, 3, 4, [1, 2], 5, 6]
>>> l.remove(7)            ## erreur : 7 ne fait pas partie de la liste
Traceback (most recent call last):
  File "<stdin>", line 1, in ?
ValueError: list.remove(x): x not in list
Fin de l'exemple
Cet article est issu de Wikiversity. Le texte est sous licence Creative Commons - Attribution - Partage dans les Mêmes. Des conditions supplémentaires peuvent s'appliquer aux fichiers multimédias.