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.

Python/Les structures de données
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
Les instructions de contrôle