Comprendre les slices en Python sur les listes et les chaînes
Apprenez à utiliser les slices en Python pour extraire, inverser et parcourir listes et chaînes avec des exemples simples.

- Difficulté
- Facile
Un slice permet de prendre une portion d’une liste ou d’une chaîne avec la forme [debut:fin:pas]. C’est l’outil le plus simple pour extraire des éléments, inverser une séquence ou en lire un sur plusieurs.
Dans Python, le début est inclus et la fin est exclue. Cette règle explique la plupart des résultats qui surprennent au début.
Prérequis
Savoir créer une liste comme [10, 20, 30] et une chaîne comme "Python". Savoir afficher un résultat avec print().
Matériel nécessaire
- Python 3 installé ou un interpréteur en ligne
- Un éditeur de texte ou un terminal Python
Étapes
Créer une séquence à découper
Commencez avec une liste et une chaîne simples. Les slices fonctionnent sur ces deux types de séquences.
nombres = [10, 20, 30, 40, 50]mot = "Python"Extraire une portion avec debut et fin

Utilisez
[debut:fin]pour prendre une tranche. L’élément à l’indexdebutest inclus, celui à l’indexfinne l’est pas.print(nombres[1:4]) # [20, 30, 40]print(mot[1:4]) # ythOmettre debut ou fin pour aller jusqu’au bord
Si vous laissez
debutvide, Python part du début. Si vous laissezfinvide, Python va jusqu’à la fin.print(nombres[:3]) # [10, 20, 30]print(nombres[2:]) # [30, 40, 50]print(mot[:2]) # PyAjouter un pas pour sauter des éléments

Le troisième nombre,
pas, indique l’écart entre les éléments gardés. Avec[debut:fin:pas], vous pouvez lire un élément sur deux ou plus.print(nombres[::2]) # [10, 30, 50]print(mot[::2]) # PtoInverser une séquence avec un pas négatif

Pour lire à l’envers, utilisez un pas négatif. La forme la plus simple est
[::-1].print(nombres[::-1]) # [50, 40, 30, 20, 10]print(mot[::-1]) # nohtyPParcourir une séquence par morceaux simples
Un slice peut aussi servir avant une boucle. Vous limitez d’abord la zone utile, puis vous la parcourez.
for lettre in mot[1:5]:print(lettre)Vous pouvez aussi combiner avec un pas. Par exemple,
mot[::2]parcourt une lettre sur deux.Tester quelques cas utiles au quotidien
Voici trois formes à retenir en priorité. Elles couvrent la plupart des besoins de base.
texte = "bonjour"print(texte[:4]) # bonjprint(texte[4:]) # ourprint(texte[::-1]) # ruojnob
Erreurs fréquentes & dépannage
La borne de fin est exclue, donc [1:4] s’arrête avant l’index 4. Ne confondez pas non plus un index simple, comme mot[2], qui renvoie un seul élément, et un slice, comme mot[2:3], qui renvoie une portion.
Avec un pas négatif, le sens change. Si les bornes ne vont pas dans le bon ordre, le résultat peut être vide.
Astuces & pour aller plus loin
Pour copier toute une liste, utilisez liste[:]. Pour lire un élément sur deux, pensez à [::2], et pour inverser rapidement, gardez [::-1] en mémoire.
Questions fréquentes
Les slices modifient-ils la liste d’origine ?
Non, un slice comme liste[1:3] renvoie une nouvelle portion. Dans ce tutoriel, on s’en sert pour lire ou récupérer des éléments.
Peut-on utiliser les slices sur une chaîne de caractères ?
Oui. Une chaîne se découpe comme une liste, par exemple "Python"[1:4] donne "yth".
Que signifie la forme [::] ?
Elle reprend toute la séquence avec les valeurs par défaut. Sur une liste, liste[::] produit une copie superficielle de la liste.
Conclusion
Retenez surtout la forme [debut:fin:pas] et la règle « début inclus, fin exclue ». Avec [:], [::2] et [::-1], vous savez déjà extraire, parcourir et inverser les cas les plus courants.