Slicing de listes, partie 2
Fait partie de la section Fundamentals du Journey Python de Coddy — leçon 65 sur 77.
Le découpage (slicing) possède un autre paramètre step (pas) : lst[start:stop:step]. Par exemple, considérons cette liste :
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]Récupère un élément sur deux de l'index 1 à 8 :
print(numbers[1:8:2])
# Sortie : [1, 3, 5, 7]Récupère chaque troisième élément à partir de l'index 2 :
print(numbers[2::3])
# Sortie : [2, 5, 8]Le slicing prend également en charge les indices négatifs.
Compter à partir de la fin :
print(numbers[-3:])
# Sortie : [7, 8, 9]Ici, -3 signifie « commencer à 3 positions de la fin »
Compter jusqu'à la fin :
print(numbers[:-2])
# Sortie : [0, 1, 2, 3, 4, 5, 6, 7]Ici, -2 signifie « s'arrêter à 2 positions de la fin » (exclu)
Inversion avec un pas négatif :
print(numbers[::-1])
# Output: [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]- Espace vide avant le premier
:signifie « commencer par le début » - Espace vide entre les
:signifie « aller jusqu'à la fin » - -1 signifie « reculer d'un pas à la fois »
Défi
FacileCréez un programme qui reçoit une liste en entrée (donnée) et affiche trois nouvelles listes basées sur les opérations de découpage (slicing) suivantes :
- Une liste contenant chaque troisième élément, en commençant par l'index 1 (le deuxième élément)
- Une liste contenant tous les éléments du 6ème élément au 1er dans l'ordre inverse
- Une liste contenant chaque deuxième élément en commençant par le milieu de la liste jusqu'à la fin
Aide-mémoire
Syntaxe de découpage (slicing) : lst[start:stop:step]
Exemples de découpage :
numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# Un élément sur deux de l'index 1 à 8
print(numbers[1:8:2]) # Résultat : [1, 3, 5, 7]
# Un élément sur trois à partir de l'index 2
print(numbers[2::3]) # Résultat : [2, 5, 8]
# Les trois derniers éléments
print(numbers[-3:]) # Résultat : [7, 8, 9]
# Tous les éléments sauf les deux derniers
print(numbers[:-2]) # Résultat : [0, 1, 2, 3, 4, 5, 6, 7]
# Inverser la liste
print(numbers[::-1]) # Résultat : [9, 8, 7, 6, 5, 4, 3, 2, 1, 0]Points clés :
- Les indices négatifs comptent à partir de la fin de la liste
- Un espace vide avant le premier
:signifie « commencer par le début » - Un espace vide entre les
:signifie « aller jusqu'à la fin » - Un pas (step) négatif inverse l'ordre
Essayez vous-même
lst = input().split(",")
# Écrivez votre code ci-dessousCette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Fundamentals
4Opérateurs, partie 2
Opérateurs logiques, partie 1Opérateurs logiques, partie 2Récapitulatif - Logique simpleOpérateurs logiques, partie 3Opérateurs logiques, partie 47Calculateur de partage d'addition
Message de bienvenueSaisie des données10FizzBuzz avec une variante
Présentation du jeuLa fonction FizzBuzz13Listes avancées
Slicing de listes, partie 1Slicing de listes, partie 2Opérateurs de séquenceAppartenance2Variables
NombresChaînes de caractèresBooléensConventions de nommageVariables videsRécapitulatif - Initialiser des variables8Boucles
Boucle ForBoucle WhileBreakContinueRécapitulatif - FactorielleLa fonction RangeBoucles imbriquéesRécapitulatif - Saisie dynamique3Les opérateurs, partie 1
Opérateurs arithmétiquesOpérateur moduloRaccourcis arithmétiquesRécapitulatif - Calculs simplesOpérateurs de comparaison6E/S de base
SortieSortie avec des variablesEntréeCastRécapitulatif - Jusqu'à 120Récapitulatif - Vrai ou Faux9Fonctions
Déclarer une fonctionArgumentsRetourner une valeurRécapitulatif - Fonction SigmaRécapitulatif - Fonction de validationValeurs par défaut