Menu Fermer

Utiliser les slices en Python : Tuto complet

Les slices (tranches en anglais) en Python sont une syntaxe pratique pour sélectionner des éléments d’une liste, d’un tuple, d’une chaîne de caractères ou d’un autre type de données itérable. Elles permettent d’extraire facilement un élément ou des sous-listes, de parcourir une liste de manière itérative en sautant des éléments, ou encore de modifier des éléments en une seule ligne de code.

Voici la syntaxe générale des slices en Python :

donnees[debut:fin:pas]

Où debut est l’indice du premier élément à sélectionner (inclus), fin est l’indice du dernier élément à sélectionner (exclus) et pas est le nombre de pas à sauter entre chaque élément sélectionné. Si aucun de ces arguments n’est spécifié, les valeurs par défaut sont debut=0, fin=len(donnees) et pas=1.

Voici quelques exemples d’utilisation des slices en Python :

ma_liste = [1, 2, 3, 4, 5, 6]
# Sélectionner un élément unique

print(ma_liste[2]) # Affiche 3


# Sélectionner une plage d'éléments
print(ma_liste[1:4]) # Affiche [2, 3, 4]
# Sélectionner une plage d'éléments en sautant des éléments
print(ma_liste[::2]) # Affiche [1, 3, 5]
# Sélectionner une plage d'éléments en inversant l'ordre
print(ma_liste[::-1]) # Affiche [6, 5, 4, 3, 2, 1]

Vous pouvez également utiliser des indices négatifs avec les slices pour sélectionner des éléments à partir de la fin de la liste :

print(ma_liste[-2]) # Affiche 5
print(ma_liste[-3:-1]) # Affiche [4, 5]

Il est également possible de spécifier un troisième argument dans les slices pour déterminer le nombre de pas à sauter entre chaque élément sélectionné. Par exemple :

print(ma_liste[1::2]) # Affiche [2, 4, 6]
print(ma_liste[::3]) # Affiche [1, 4]

Les slices sont particulièrement utiles lorsqu’il s’agit de modifier des éléments d’une liste. Par exemple, pour remplacer tous les éléments pairs d’une liste par zéro, vous pouvez utiliser une slice comme ceci :

ma_liste = [1, 2, 3, 4, 5, 6]
ma_liste[::2] = [0, 0, 0]
print(ma_liste) # Affiche [0, 2, 0, 4, 0, 6]

Il est également possible d’utiliser les slices pour ajouter ou supprimer des éléments d’une liste. Par exemple :

ma_liste = [1, 2, 3, 4, 5, 6]
ma_liste[2:4] = [7, 8, 9]
print(ma_liste) # Affiche [1, 2, 7, 8, 9, 5, 6]
ma_liste = [1, 2, 3, 4, 5, 6]
ma_liste[2:4] = []
print(ma_liste) # Affiche [1, 2, 5, 6]

Il est également possible d’utiliser les slices avec les chaînes de caractères, comme ceci :

ma_chaine = "Bonjour"
# Sélectionner un caractère unique
print(ma_chaine[2]) # Affiche "n"
# Sélectionner une plage de caractères
print(ma_chaine[1:4]) # Affiche "onj"
# Sélectionner une plage de caractères en sautant des caractères
print(ma_chaine[::2]) # Affiche "Bnjr"
# Sélectionner une plage de caractères en inversant l'ordre
print(ma_chaine[::-1]) # Affiche "ruojnoB"

Il est également possible d’utiliser les slices pour modifier une chaîne de caractères, mais attention car les chaînes de caractères sont immuables en Python, c’est-à-dire qu’une fois créées elles ne peuvent pas être modifiées. Pour modifier une chaîne de caractères, vous devez en créer une nouvelle à partir de l’ancienne. Par exemple :

ma_chaine = "Bonjour"
ma_chaine = ma_chaine[:4] + "tout" + ma_chaine[4:]
print(ma_chaine) # Affiche "Bontoutour"

En résumé, les slices sont des outils très pratique pour sélectionner et modifier des éléments d’un tableau ou d’une chaîne de caractères en Python.


Vous aimerez aussi