Python/Les structures de données
Une page de Wikiversité.
Python/Les structures de données est une ébauche concernant l'informatique. Vous pouvez aider le projet Wikiversité en l'améliorant.
| Chapitre 4 | |||
| Leçon : Python | |||
|---|---|---|---|
| Chap. préc. : | 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 listes compréhension. La syntaxe Python pour de telle liste est la suivante : [expression for variable in sequence] ou [expression for variable in sequence if cond].
|
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. La fonction len renvoie la longueur 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. L'opérateur une_liste[indice_debut:indice_fin] permet de créer une liste d'éléments pris dans une_liste dans l'interval indice_debut et indice_fin (! non compris !). L'opérateur une_liste[indice_debut:indice_fin:pas] permet de créer une liste d'éléments pris dans une_liste dans l'interval indice_debut et indice_fin (! non compris !) avec un certain pas.
|
Exemple |
>>> l = range(1, 10) >>> l [1, 2, 3, 4, 5, 6, 7, 8, 9] >>> 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 sequence 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écalle les autres éléménts 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émént 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
L'opérateur del permet de supprimer une élément. 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 |

