Python/Les structures de données
Une page de Wikiversité.
| Chapitre 3 | |||
| Leçon : Python | |||
|---|---|---|---|
| Chap. préc. : | Les types de base | ||
| Chap. suiv. : | Les instructions de contrôle | ||
En raison de limitations techniques, la typographie souhaitable du titre, « Python : Python/Les structures de données
Python/Les structures de données », n'a pu être restituée correctement ci-dessus.
Sommaire |
[modifier] 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.
[modifier] 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 |
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] |
[modifier] 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 créer une liste d'éléments dans l'intervalle indice_debut inclus et indice_fin exclus.
- 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 [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] |
[modifier] Ajout d'éléments
Vous pouvez ajouter des éléments à une séquence existante. La méthode "append" ajoute un simple éléments à 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] |
[modifier] 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 parti de la liste Traceback (most recent call last): File "<stdin>", line 1, in ? ValueError: list.remove(x): x not in list |