Maîtriser les listes Python : Guide complet
La structure de données la plus basique en Python est la séquence. Chaque élément d'une séquence se voit attribuer un nombre - sa position ou index. Le premier index est zéro, le second est un, et ainsi de suite.
Python a six types de séquences intégrés, mais les plus courants sont les listes et les tuples, que nous verrons dans ce tutoriel.
Il y a certaines choses que vous pouvez faire avec tous les types de séquences. Ces opérations incluent l'indexation, le tranchage, l'addition, la multiplication et la vérification d'appartenance. En outre, Python a des fonctions intégrées pour trouver la longueur d'une séquence et pour trouver ses éléments les plus grands et les plus petits.
Listes Python
La liste est le type de données le plus polyvalent disponible en Python, qui peut être écrit comme une liste de valeurs séparées par des virgules (éléments) entre crochets. Point important à propos d'une liste : les éléments dans une liste n'ont pas besoin d'être du même type.
Créer une liste est aussi simple que de mettre différentes valeurs séparées par des virgules entre crochets. Par exemple :
list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5 ]; list3 = ["a", "b", "c", "d"]
Similaire aux indices de chaîne, les indices de liste commencent à 0, et les listes peuvent être tranchées, concaténées, etc.
Accès aux valeurs dans les listes
Pour accéder aux valeurs dans les listes, utilisez les crochets pour le tranchage avec l'index ou les indices pour obtenir la valeur disponible à cet index. Par exemple :
Démonstration en direct#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; list2 = [1, 2, 3, 4, 5, 6, 7 ]; print "list1[0]: ", list1[0] print "list2[1:5]: ", list2[1:5]
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant :
list1[0]: physics list2[1:5]: [2, 3, 4, 5]
Mise à jour des listes
Vous pouvez mettre à jour un ou plusieurs éléments de listes en donnant la tranche du côté gauche de l'opérateur d'affectation, et vous pouvez ajouter des éléments dans une liste avec la méthode append(). Par exemple :
Démonstration en direct#!/usr/bin/python list = ['physics', 'chemistry', 1997, 2000]; print "Valeur disponible à l'index 2 : " print list[2] list[2] = 2001; print "Nouvelle valeur disponible à l'index 2 : " print list[2]
Note : La méthode append() est discutée dans la section suivante.
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant :
Valeur disponible à l'index 2 : 1997 Nouvelle valeur disponible à l'index 2 : 2001
Suppression d'éléments de liste
Pour supprimer un élément de liste, vous pouvez utiliser soit l'instruction del si vous savez exactement quel(s) élément(s) vous supprimez, soit la méthode remove() si vous ne le savez pas. Par exemple :
Démonstration en direct#!/usr/bin/python list1 = ['physics', 'chemistry', 1997, 2000]; print list1 del list1[2]; print "Après suppression de la valeur à l'index 2 : " print list1
Lorsque le code ci-dessus est exécuté, il produit le résultat suivant :
['physics', 'chemistry', 1997, 2000] Après suppression de la valeur à l'index 2 : ['physics', 'chemistry', 2000]
Note : La méthode remove() est discutée dans la section suivante.
Opérations de base sur les listes
Les listes répondent aux opérateurs + et * un peu comme les chaînes ; ils signifient concaténation et répétition ici aussi, sauf que le résultat est une nouvelle liste, pas une chaîne.
En fait, les listes répondent à toutes les opérations de séquence générales que nous avons utilisées sur les chaînes dans le chapitre précédent.
| Expression Python | Résultats | Description |
|---|---|---|
| len([1, 2, 3]) | 3 | Longueur |
| [1, 2, 3] + [4, 5, 6] | [1, 2, 3, 4, 5, 6] | Concaténation |
| ['Hi!'] * 4 | ['Hi!', 'Hi!', 'Hi!', 'Hi!'] | Répétition |
| 3 in [1, 2, 3] | True | Appartenance |
| for x in [1, 2, 3]: print x, | 1 2 3 | Itération |
Indexation, tranchage et matrices
Parce que les listes sont des séquences, l'indexation et le tranchage fonctionnent de la même manière pour les listes que pour les chaînes.
En supposant l'entrée suivante :
L = ['spam', 'Spam', 'SPAM!']
| Expression Python | Résultats | Description |
|---|---|---|
| L[2] | SPAM! | Les décalages commencent à zéro |
| L[-2] | Spam | Négatif : compter depuis la droite |
| L[1:] | ['Spam', 'SPAM!'] | Le tranchage récupère des sections |
Fonctions et méthodes intégrées des listes
Python inclut les fonctions de liste suivantes :
| N° | Fonction avec description |
|---|---|
| 1 | cmp(list1, list2) Compare les éléments des deux listes. |
| 2 | len(list) Donne la longueur totale de la liste. |
| 3 | max(list) Retourne l'élément de la liste avec la valeur max. |
| 4 | min(list) Retourne l'élément de la liste avec la valeur min. |
| 5 | list(seq) Convertit un tuple en liste. |
Python inclut les méthodes de liste suivantes :
| N° | Méthodes avec description |
|---|---|
| 1 | list.append(obj) Ajoute l'objet obj à la liste. |
| 2 | list.count(obj) Retourne le nombre de fois où obj apparaît dans la liste. |
| 3 | list.extend(seq) Ajoute le contenu de seq à la liste. |
| 4 | list.index(obj) Retourne l'index le plus bas dans la liste où obj apparaît. |
| 5 | list.insert(index, obj) Insère l'objet obj dans la liste à l'offset index. |
| 6 | list.pop(obj=list[-1]) Supprime et retourne le dernier objet ou obj de la liste. |
| 7 | list.remove(obj) Supprime l'objet obj de la liste. |
| 8 | list.reverse() Inverse les objets de la liste sur place. |
| 9 | list.sort([func]) Trie les objets de la liste, utilise la fonction de comparaison func si donnée. |
Python
- Maîtriser les types de données Python : Guide pratique
- Maîtriser les opérateurs Python : Guide complet
- Maîtriser l'instruction pass en Python : Guide pratique
- Maîtriser les arguments de fonctions Python : Positionnels, nommés et paramètres par défaut
- Maîtriser la fonction Python range() : des bases aux cas avancés
- Maîtriser les Listes Python : Append, Sort, Longueur & Compréhensions de Liste (Guide Pratique)
- Calculer des Moyennes en Python : Guide Pratique
- Python list.count() : Guide Expert avec Exemples Pratiques
- Comment Supprimer les Éléments Dupliqués d'une Liste Python