Menu
Coddy logo textTech

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 » 
challenge icon

Défi

Facile

Cré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-dessous
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Fundamentals