Sobes.tech
Junior

Qu'est-ce que les tranches (slices) en Python et comment sont-elles utilisées?

sobes.tech IA

Réponse de l'IA

Les slices en Python sont une façon pratique d’obtenir des sous-séquences de collections ordonnées, telles que des chaînes, des listes et des tuples. Ils permettent d’extraire des éléments ou des parties d’une séquence sans modifier la collection d’origine.

Syntaxe du slice : [start:stop:step]

  • start : index de début du slice (inclus). Par défaut 0.
  • stop : index de fin du slice (non inclus). Par défaut la fin de la séquence.
  • step : pas du slice (combien d’éléments sauter). Par défaut 1.

Les indices peuvent être négatifs. Un indice négatif compte à partir de la fin de la séquence (-1 étant le dernier élément, -2 l’avant-dernier, etc.).

Exemples d’utilisation :

# Chaîne
s = "Hello, world!"
# Slice du début jusqu’au 5ème caractère (non inclus)
print(s[:5])  # Sortie : Hello
# Slice du 7ème caractère jusqu’à la fin
print(s[7:]) # Sortie : world!
# Slice du 7ème au 12ème caractère (non inclus)
print(s[7:12]) # Sortie : world
# Copier la chaîne
print(s[:]) # Sortie : Hello, world!
# Inverser la chaîne
print(s[::-1]) # Sortie : !dlrow ,olleH
# Slice avec pas 2
print(s[::2]) # Sortie : Hlo ol!

# Liste
my_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# Slice du 2ème au 5ème élément (non inclus)
print(my_list[1:5]) # Sortie : [2, 3, 4, 5]
# Slice du dernier au 3ème (non inclus), avec pas -1
print(my_list[-1:2:-1]) # Sortie : [10, 9, 8, 7, 6, 5, 4]

# Tuple
my_tuple = (10, 20, 30, 40, 50)
# Slice du 2ème au 4ème élément (non inclus)
print(my_tuple[1:4]) # Sortie : (20, 30, 40)

L’utilisation des slices permet de créer de nouveaux objets avec une partie des données de la séquence d’origine, ce qui en fait un outil efficace pour manipuler des données.