Accéder aux éléments d'une liste en Python
Apprenez à accéder aux éléments d'une liste Python avec l'indexation positive et négative, le découpage, les listes imbriquées et la méthode index().
Une liste Python est une séquence ordonnée et modifiable pouvant contenir des éléments de tout type. Comme les listes sont ordonnées, chaque élément possède une position numérique fixe — appelée index — que vous pouvez utiliser pour lire, mettre à jour ou découper les données.
Ce chapitre couvre :
- L'indexation positive et négative
- Le découpage (start, stop, step)
- La vérification d'appartenance avec
in - La recherche de positions avec
index() - L'accès aux éléments dans des listes imbriquées
Pour modifier des listes, consultez Modifier les éléments d'une liste, Ajouter des éléments à une liste et Supprimer des éléments d'une liste.
Indexation positive
Python utilise l'indexation à base zéro : le premier élément se trouve à l'index 0, le deuxième à l'index 1, et ainsi de suite.
Index: 0 1 2 3 4
↓ ↓ ↓ ↓ ↓
fruits = ["apple","banana","cherry","durian","elderberry"]Utilisez les crochets [] pour récupérer un élément par son index :
Demander un index qui n'existe pas lève une IndexError :
fruits = ["apple", "banana", "cherry"]
print(fruits[10]) # IndexError: list index out of rangeVérifiez toujours len(list) - 1 pour trouver la borne supérieure valide, ou utilisez un bloc try/except lorsque la longueur est incertaine.
Indexation négative
Les indices négatifs comptent à rebours depuis la fin de la liste. L'index -1 correspond au dernier élément, -2 à l'avant-dernier, et ainsi de suite.
Index: -5 -4 -3 -2 -1
↓ ↓ ↓ ↓ ↓
fruits = ["apple","banana","cherry","durian","elderberry"]L'indexation négative est particulièrement utile lorsque vous avez besoin du dernier élément d'une liste dont la longueur est inconnue.
Découpage de listes
Un découpage extrait une sous-liste en utilisant la syntaxe list[start:stop]. L'index start est inclus ; l'index stop est exclu.
Le découpage ne lève jamais d'IndexError — Python ajuste automatiquement les bornes hors plage :
fruits = ["apple", "banana", "cherry"]
print(fruits[1:100]) # ['banana', 'cherry'] — no errorDécoupage avec pas
Un troisième paramètre — le pas — contrôle le nombre d'éléments à sauter entre chaque sélection : list[start:stop:step].
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(numbers[0:9:2]) # [0, 2, 4, 6, 8] — every second item
print(numbers[::3]) # [0, 3, 6, 9] — every third item
print(numbers[::-1]) # [9, 8, 7, 6, 5, 4, 3, 2, 1, 0] — reversedUn pas négatif inverse la direction, donc list[::-1] est la façon idiomatique d'inverser une liste sans la modifier sur place.
Découpage avec des indices négatifs
Les indices négatifs fonctionnent également dans les découpages :
fruits = ["apple", "banana", "cherry", "durian", "elderberry"]
print(fruits[-3:]) # ['cherry', 'durian', 'elderberry'] — last 3
print(fruits[-4:-1]) # ['banana', 'cherry', 'durian']Vérifier si un élément existe
Utilisez l'opérateur in pour tester l'appartenance sans connaître l'index :
fruits = ["apple", "banana", "cherry", "durian", "elderberry"]
print("banana" in fruits) # True
print("mango" in fruits) # False
print("mango" not in fruits) # TrueC'est plus propre qu'une itération manuelle et constitue le schéma préféré pour les vérifications d'existence.
Trouver l'index d'un élément
La méthode index() retourne la position de la première occurrence d'une valeur :
fruits = ["apple", "banana", "cherry", "banana", "elderberry"]
print(fruits.index("banana")) # 1 — first occurrence
print(fruits.index("elderberry")) # 4index() lève une ValueError si la valeur n'est pas trouvée. Protégez-vous avec in d'abord :
fruits = ["apple", "banana", "cherry"]
target = "mango"
if target in fruits:
print(fruits.index(target))
else:
print(f"{target!r} is not in the list")Vous pouvez également limiter la recherche à une plage avec index(value, start, stop) :
fruits = ["apple", "banana", "cherry", "banana", "elderberry"]
# Find 'banana' starting from index 2 (skips the first occurrence)
print(fruits.index("banana", 2)) # 3Accéder aux éléments de listes imbriquées
Une liste peut contenir d'autres listes comme éléments. Accédez aux éléments imbriqués en chaînant les crochets d'index :
matrix = [
[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
]
print(matrix[0]) # [1, 2, 3] — first row
print(matrix[1][2]) # 6 — row 1, column 2
print(matrix[-1][-1]) # 9 — last row, last columnLa même syntaxe de découpage s'applique aux listes imbriquées :
matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
print(matrix[0][1:]) # [2, 3]Référence rapide
| Syntaxe | Description |
|---|---|
lst[i] | Élément à l'index i (base 0) |
lst[-i] | Élément à i positions depuis la fin |
lst[a:b] | Tranche de a (inclus) à b (exclu) |
lst[a:b:s] | Tranche avec le pas s |
lst[::-1] | Copie inversée de la liste |
x in lst | True si x est présent |
lst.index(x) | Premier index de x |
Chapitres associés
- Listes Python — création, propriétés et aperçu des listes
- Modifier les éléments d'une liste — mise à jour des valeurs par index
- Ajouter des éléments à une liste —
append(),insert(),extend() - Supprimer des éléments d'une liste —
remove(),pop(),del - Parcourir une liste — itérer sur chaque élément
- Méthodes de liste — référence complète des méthodes
- Compréhension de liste — construction de listes concise