Opérations sur les listes Python : création, accès, modification et techniques avancées
Opérations sur les listes Python
Les listes Python sont l'une des structures de données les plus polyvalentes du langage, permettant de stocker, organiser et manipuler des séquences de valeurs efficacement. Ce guide couvre tout : création, accès, modification, tranchage, compréhensions et méthodes intégrées.
Vidéo : Listes et tuples Python
Les listes Python permettent de travailler avec plusieurs éléments simultanément. Par exemple :
# une liste de langages de programmation
['Python', 'C++', 'JavaScript']
Créer des listes Python
Une liste se crée en plaçant des éléments entre crochets [], séparés par des virgules. Les listes peuvent contenir n'importe quel nombre d'éléments et supportent les types de données mixtes.
# liste d'entiers
my_list = [1, 2, 3]
Exemples :
# liste vide
my_list = []
# types de données mixtes
my_list = [1, "Bonjour", 3.4]
Une liste peut aussi contenir une autre liste, créant une structure imbriquée :
# liste imbriquée
my_list = ["souris", [8, 4, 6], ["a"]]
Accéder aux éléments d'une liste
Python offre plusieurs façons d'accéder aux éléments.
Indexation
Utilisez l'opérateur []. Les indices commencent à 0 ; tenter d'accéder à un index hors limites lève IndexError, tandis que des indices non-entiers lèvent TypeError.
my_list = ['p', 'r', 'o', 'b', 'e']
print(my_list[0]) # p
print(my_list[2]) # o
print(my_list[4]) # e
n_list = ["Heureux", [2, 0, 1, 5]]
print(n_list[0][1]) # a
print(n_list[1][3]) # 5
print(my_list[4.0]) # TypeError
Sortie
p o e a 5 Traceback (most recent call last): File "<string>", line 21, in <module> TypeError: list indices must be integers or slices, not float
Indexation négative
Les indices négatifs comptent depuis la fin de la liste : -1 est le dernier élément, -2 l'avant-dernier, etc.
my_list = ['p','r','o','b','e']
print(my_list[-1]) # e
print(my_list[-5]) # p
Sortie
e p

Tranchage de liste (slicing)
Le tranchage extrait une plage d'éléments avec l'opérateur deux-points :. L'index de début est inclusif ; l'index de fin est exclusif.
my_list = ['p','r','o','g','r','a','m','i','z']
print(my_list[2:5]) # ['o', 'g', 'r']
print(my_list[5:]) # ['a', 'm', 'i', 'z']
print(my_list[:]) # liste complète
Sortie
['o', 'g', 'r'] ['a', 'm', 'i', 'z'] ['p', 'r', 'o', 'g', 'r', 'a', 'm', 'i', 'z']
Note : Le tranchage retourne une nouvelle liste ; l'originale reste inchangée.
Modifier les éléments d'une liste
Les listes sont mutables. Vous pouvez remplacer des éléments uniques ou des tranches.
odd = [2, 4, 6, 8]
odd[0] = 1
print(odd)
odd[1:4] = [3, 5, 7]
print(odd)
Sortie
[1, 4, 6, 8] [1, 3, 5, 7]
Ajoutez des éléments avec append() (un seul) ou extend() (plusieurs). Utilisez + pour la concaténation et * pour la répétition.
odd = [1, 3, 5]
odd.append(7)
print(odd)
odd.extend([9, 11, 13])
print(odd)
print(odd + [9, 7, 5])
print(["re"] * 3)
Sortie
[1, 3, 5, 7] [1, 3, 5, 7, 9, 11, 13] [1, 3, 5, 9, 7, 5] ['re', 're', 're']
Insérez des éléments à un index spécifique avec insert() ou en assignant à une tranche vide.
odd = [1, 9]
odd.insert(1, 3)
print(odd)
odd[2:2] = [5, 7]
print(odd)
Sortie
[1, 3, 9] [1, 3, 5, 7, 9]
Supprimer des éléments d'une liste
Utilisez del pour supprimer des éléments par index ou tranche, ou pour supprimer la liste entière. remove() supprime la première occurrence d'une valeur, pop() retire et retourne un élément par index (ou le dernier si aucun index n'est donné). clear() vide la liste.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
# supprimer un élément
del my_list[2]
print(my_list)
# supprimer plusieurs éléments
del my_list[1:5]
print(my_list)
# supprimer la liste entière
del my_list
print(my_list) # NameError
Sortie
['p', 'r', 'b', 'l', 'e', 'm'] ['p', 'm'] Traceback (most recent call last): File "<string>", line 18, in <module> NameError: name 'my_list' is not defined
Suppression alternative via assignation de tranche :
>>> my_list = ['p','r','o','b','l','e','m']
>>> my_list[2:3] = []
>>> my_list
['p', 'r', 'b', 'l', 'e', 'm']
>>> my_list[2:5] = []
>>> my_list
['p', 'r', 'm']
Méthodes courantes des listes
| Méthode | Description |
|---|---|
| append() | Ajoute un élément à la fin |
| extend() | Ajoute tous les éléments d'un itérable |
| insert() | Insère un élément à un index spécifié |
| remove() | Supprime la première occurrence d'une valeur |
| pop() | Supprime et retourne un élément par index (ou le dernier) |
| clear() | Vide la liste |
| index() | Retourne le premier index d'une valeur |
| count() | Compte les occurrences d'une valeur |
| sort() | Trie la liste par ordre croissant |
| reverse() | Inverse l'ordre de la liste |
| copy() | Retourne une copie superficielle |
my_list = [3, 8, 1, 6, 8, 8, 4]
my_list.append('a')
print(my_list)
print(my_list.index(8)) # 1
print(my_list.count(8)) # 3
Compréhension de liste
Les compréhensions de liste offrent une façon concise de générer des listes.
pow2 = [2 ** x for x in range(10)]
print(pow2)
Sortie
[1, 2, 4, 8, 16, 32, 64, 128, 256, 512]
Équivalent à :
pow2 = []
for x in range(10):
pow2.append(2 ** x)
Les compréhensions peuvent inclure plusieurs clauses for ou un filtre if.
>>> pow2 = [2 ** x for x in range(10) if x > 5]
>>> pow2
[64, 128, 256, 512]
>>> odd = [x for x in range(20) if x % 2 == 1]
>>> odd
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
>>> [x+y for x in ['Python ','C '] for y in ['Langage','Programmation']]
['Python Langage', 'Python Programmation', 'C Langage', 'C Programmation']
Explorez plus dans la documentation officielle Python.
Opérations supplémentaires sur les listes
Test d'appartenance
Vérifiez si une valeur existe avec in ou not in.
my_list = ['p', 'r', 'o', 'b', 'l', 'e', 'm']
print('p' in my_list) # True
print('a' in my_list) # False
print('c' not in my_list) # True
Sortie
True False True
Itérer sur une liste
Utilisez une boucle for pour traiter chaque élément.
for fruit in ['pomme','banane','mangue']:
print("J'aime", fruit)
Sortie
J'aime pomme J'aime banane J'aime mangue
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 time.sleep() en Python : Bonnes pratiques, multithreading et exemples réels
- 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