Les Slices
1. Qu'est-ce qu'un Slice ?
Les slices permettent de travailler facilement avec des sous-parties de séquences (listes, chaînes, tuples...). Un slice vous permet d'extraire une portion de la séquence en spécifiant un début, une fin, et un pas.
La syntaxe générale des slices est la suivante :
sequence[start:end:step]
- start (facultatif) : L'indice à partir duquel commencer. Par défaut, c'est le début de la séquence.
- end : L'indice jusqu'auquel couper, mais cet indice n'est pas inclus dans le résultat. Par défaut, c'est la fin de la séquence.
- step (facultatif) : Le pas entre chaque élément extrait. Par défaut, c'est 1.
2. Exemples de Slices
Liste simple :
Supposons que nous ayons une liste de nombres :
numbers = [10, 20, 30, 40, 50, 60, 70, 80]
numbers[2:5]
: Cette slice prend les éléments de l'indice 2 à l'indice 4 (l'indice 5 est exclu).
python print(numbers[2:5]) # Sortie : [30, 40, 50]
numbers[:4]
: Cette slice prend les 4 premiers éléments (du début jusqu'à l'indice 3).
python print(numbers[:4]) # Sortie : [10, 20, 30, 40]
numbers[4:]
: Cette slice prend tous les éléments à partir de l'indice 4 jusqu'à la fin.
python print(numbers[4:]) # Sortie : [50, 60, 70, 80]
Avec un pas (step) :
numbers[::2]
: Cette slice prend tous les éléments avec un pas de 2, c'est-à-dire les éléments aux indices 0, 2, 4, etc.
python print(numbers[::2]) # Sortie : [10, 30, 50, 70]
numbers[1::2]
: Cette slice prend tous les éléments à partir de l'indice 1 avec un pas de 2.
python print(numbers[1::2]) # Sortie : [20, 40, 60, 80]
Slice avec des indices négatifs :
Les indices négatifs permettent de commencer à partir de la fin de la séquence.numbers[-3:]
: Cette slice prend les 3 derniers éléments.
python print(numbers[-3:]) # Sortie : [60, 70, 80]
numbers[:-3]
: Cette slice prend tous les éléments sauf les 3 derniers.
python print(numbers[:-3]) # Sortie : [10, 20, 30, 40, 50]
3. Tranches sur des chaînes de caractères
Les slices peuvent aussi être appliquées sur des chaînes de caractères pour extraire une sous-chaîne.
text = "Python"
print(text[1:4]) # Sortie : "yth"
4. Tranches sur des tuples
Les slices fonctionnent aussi sur des tuples, de la même manière que pour les listes.
tuple_example = (1, 2, 3, 4, 5, 6)
print(tuple_example[1:4]) # Sortie : (2, 3, 4)
Exercices
Exercice 1 - Liste de nombres :
Créez une liste de nombres de 1 à 10 et faites les tranches suivantes :- Les 3 premiers éléments.
- Les éléments de l'indice 3 à 7.
- Tous les éléments à partir de l'indice 5.
- Les éléments avec un pas de 2 (c'est-à-dire, tous les éléments impairs).
Exercice 2 - Manipulation de texte :
Créez une chaîne de caractères contenant un mot de votre choix. Utilisez des slices pour :- Extraire le premier et le dernier caractère.
- Extraire une sous-chaîne du milieu.
- Extraire les caractères aux positions paires.
Exercice 3 - Liste avec des indices négatifs :
Utilisez une liste de nombres allant de 10 à 50 (par exemple, [10, 20, 30, 40, 50]) et effectuez les tranches suivantes :- Les 3 derniers éléments.
- Les éléments de la fin jusqu'à l'indice 2 (en utilisant des indices négatifs).
Exercice 4 - Tuple et Slice :
Créez un tuple avec les valeurs(5, 10, 15, 20, 25, 30, 35, 40)
. Faites une tranche pour :- Extraire les éléments de l'indice 2 à l'indice 6.
- Extraire tous les éléments avec un pas de 3.