Contenu

Le slicing en Python : utilisation et exemples

1/ Les séquences

En Python, les séquences sont des types de données qui représentent une collection ordonnée d’éléments. Les types de séquences les plus courants sont les listes, les tuples et les chaînes de caractères.

1
2
3
une_liste = ["a", "b", "c", "d"]
un_tuple = ("a", "b", "c", "d")
une_chaine_de_caracteres = "abcd"


2/ Le slicing

Le slicing en Python est une fonctionnalité qui permet d’extraire une sous-séquence d’une séquence. Cela peut être très utile pour accéder à des parties spécifiques d’une séquence. Le slicing utilise trois paramètres :

1
séquence[début:fin:fréquence]
  • Le premier paramètre est l’indice de début, qui est inclus dans la sous-séquence.
  • Le deuxième paramètre est l’indice de fin, qui est exclus de la sous-séquence.
  • Le troisième paramètre fréquence (facultatif) indique la fréquence à laquelle les éléments doivent être extraits de la séquence.


3/ Exemples

Supposons que nous avons la liste suivante :

1
ma_liste = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

Afficher les 3 premiers éléments d’une liste

Pour afficher les trois premiers éléments de la liste, nous pouvons utiliser le slicing avec les paramètres suivants :

1
2
print(ma_liste[:3])
>>> [1, 2, 3]

Le résultat de l’impression sera [1, 2, 3].


Afficher les 4 derniers éléments d’une liste

Pour afficher les quatre derniers éléments de la liste, nous pouvons utiliser le slicing avec les paramètres suivants :

1
2
print(ma_liste[-4:])
>>> [7, 8, 9, 10]

Le résultat de l’impression sera [7, 8, 9, 10].


Afficher un texte à l’envers

Supposons que nous avons la chaîne de caractères suivante :

1
2
3
texte = "Hello, World!"
print(texte[::-1])
>>> "!dlroW ,olleH"

Le résultat de l’impression sera !dlroW ,olleH.


Afficher un élément sur deux

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

Le résultat de l’impression sera [1, 3, 5, 7, 9].


Exemple d’utilisation du slicing avec les trois paramètres

Pour extraire les éléments de la liste en partant de l’indice 2 (inclus), jusqu’à l’indice 8 (exclus) et en utilisant une fréquence de 2, nous pouvons utiliser le slicing comme ceci :

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

Le résultat de l’impression sera [3, 5, 7].