Python 10.2: Listes
Nous avons vu précédemment comment utiliser les collections avec les tuples. Dans cette leçon, nous allons découvrir les listes en Python, qui sont une autre structure de données très utilisée. Imaginons une variable personne contenant plusieurs éléments : comment ajouter d'autres valeurs à cette collection ? Les tuples étant immuables (non modifiables), nous devons passer par les listes pour pouvoir ajouter, supprimer ou modifier des éléments dynamiquement.
Créer, modifier et parcourir une liste
La syntaxe d'une liste utilise les crochets au lieu des parenthèses du tuple. Une liste fait tout ce qu'un tuple peut faire, et bien davantage. Pour ajouter un élément, on utilise la méthode append. Pour supprimer un élément à un index donné, on utilise l'instruction del. Voici un exemple typique :
personne = ["Alice", "Bob", "Charlie"]
nouvelle_personne = "Yann"
personne.append(nouvelle_personne)
print(personne)
del personne[0]
print(personne)
Pour parcourir et afficher les éléments d'une liste, on utilise une boucle for, exactement comme avec un tuple. On peut aussi encapsuler cet affichage dans une fonction réutilisable qui prend la liste en paramètre. Cela rend le code modulaire et facile à maintenir.
Les opérations courantes sur les listes :
- append(x) pour ajouter un élément à la fin
- del liste[i] pour supprimer l'élément à l'index i
- liste[i] = nouvelle_valeur pour modifier un élément
- for x in liste pour parcourir tous les éléments
- len(liste) pour obtenir la taille
Il est aussi important de noter qu'une variable créée à l'intérieur d'une fonction est locale à cette fonction. Si vous passez un entier en paramètre et le modifiez à l'intérieur, la variable d'origine n'est pas affectée. À l'inverse, les listes étant des conteneurs mutables, modifier la liste passée en paramètre modifie bien l'original. Cette différence entre types immuables et mutables est fondamentale en Python et explique de nombreux comportements. On se retrouve dans la prochaine vidéo pour la suite sur les fonctions et les tuples.