11.1 Définition des indices
En Python, l'extraction de sous-chaînes est une opération souvent utilisée pour manipuler les données textuelles et extraire des parties significatives des chaînes. Examinons plusieurs méthodes d'obtention de sous-chaînes, chacune ayant ses propres caractéristiques et domaines d'application.
Utilisation des slices
Les slices (slices) sont la méthode principale pour obtenir des sous-chaînes en Python. Un slice en Python est créé avec la syntaxe string[start:stop:step], où :
start— l'indice de début (inclus),stop— l'indice de fin (non inclus),step— le pas, avec lequel les caractères sont extraits.
La syntaxe des slices permet de spécifier les indices de début et de fin de la sous-chaîne que tu veux extraire.
text = "Hello, world!"
substring = text[7:12] # Affichera 'world'
11.2 Indices incomplets
Tu n'es pas obligé de spécifier les trois indices pour extraire une sous-chaîne.
- Si
startest omis, le slice commence au début de la chaîne. - Si
stopest omis, le slice va jusqu'à la fin de la chaîne. - Si
stepest omis, les caractères sont extraits un à un.
Exemples :
Ecrivons un exemple pour obtenir une sous-chaîne à partir du 7ème caractère et jusqu'à la fin de la chaîne
text = "Hello, world!"
substring = text[7:] # Affichera 'world!'
Maintenant du début de la chaîne jusqu'au 10ème caractère. J'espère que tu te souviens que le dernier caractère de l'intervalle n'est pas inclus dans la sous-chaîne résultat.
text = "Hello, world!"
substring = text[:10] # Affichera 'Hello, wor'
11.3 Indices négatifs
Les indices négatifs en Python permettent d'accéder aux éléments de la chaîne en commençant par la fin. L'utilisation d'indices négatifs rend souvent le code plus lisible et pratique, surtout quand tu veux travailler avec la fin de la chaîne.
Obtention du dernier caractère de la chaîne :
text = "Python"
last_char = text[-1]
print(last_char) # Affichera : 'n'
Obtention de l'avant-dernier caractère de la chaîne :
text = "Python"
second_last_char = text[-2]
print(second_last_char) # Affichera : 'o'
Pour obtenir les trois derniers caractères de la chaîne :
text = "Python"
last_three = text[-3:]
print(last_three) # Affichera : 'hon'
Pour obtenir la chaîne en excluant le dernier caractère :
text = "Python"
all_but_last = text[:-1]
print(all_but_last) # Affichera : 'Pytho'
Utilisation avancée des slices
Avec le paramètre step, tu peux créer des slices plus complexes, par exemple, pour extraire les caractères en ordre inverse :
# Inverser la chaîne
print(text[::-1]) # '!dlrow ,olleH'
GO TO FULL VERSION