Indexation et Découpage
Les chaînes de caractères sont des séquences : chaque caractère possède une position (un indice). Python utilise un indexage basé sur zéro, donc le premier caractère se trouve à l’indice 0. Il est possible d’extraire un seul caractère grâce à l’indexation et des plages de caractères grâce au slicing.
Indexation
Utiliser des crochets avec une seule position.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Les indices négatifs comptent à partir de la fin.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
L'indexation doit correspondre à une position existante, sinon une IndexError est générée.
12s = "python" print(s[10]) # IndexError: string index out of range
De plus, les chaînes de caractères sont immuables, il est donc possible de lire s[i] mais pas d’y affecter une valeur.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Découpage
Un découpage utilise start:stop:step et retourne une nouvelle chaîne. stop est exclusif (il n'est pas inclus).
12345s = "python" print(s[1:4]) # 'yth' (indices 1,2,3) print(s[:4]) # 'pyth' (start defaults to 0) print(s[3:]) # 'hon' (stop defaults to len(s)) print(s[::2]) # 'pto' (every 2nd character)
Les découpages sont tolérants : dépasser les limites ajuste simplement aux bornes valides (aucune erreur).
12s = "python" print(s[0:100]) # 'python'
Indices négatifs et inversion
Possibilité de combiner des indices négatifs dans les tranches, et un step négatif permet de parcourir la chaîne en sens inverse.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step ne peut pas être 0. Omettre step implique 1. Omettre start ou stop signifie « depuis le début » / « jusqu'à la fin ».
1. Quelle valeur ce code affichera-t-il ?
2. Quelle valeur ce code affichera-t-il ?
3. Quelle instruction provoque une erreur pour u = "hello" ?
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Can you explain more about how slicing works with different step values?
What happens if I use both negative start and stop indices in a slice?
Can you show more examples of string indexing and slicing?
Awesome!
Completion rate improved to 5.26
Indexation et Découpage
Glissez pour afficher le menu
Les chaînes de caractères sont des séquences : chaque caractère possède une position (un indice). Python utilise un indexage basé sur zéro, donc le premier caractère se trouve à l’indice 0. Il est possible d’extraire un seul caractère grâce à l’indexation et des plages de caractères grâce au slicing.
Indexation
Utiliser des crochets avec une seule position.
123s = "python" print(s[0]) # 'p' (first character) print(s[5]) # 'n' (sixth character)
Les indices négatifs comptent à partir de la fin.
123s = "python" print(s[-1]) # 'n' (last character) print(s[-2]) # 'o' (second from the end)
L'indexation doit correspondre à une position existante, sinon une IndexError est générée.
12s = "python" print(s[10]) # IndexError: string index out of range
De plus, les chaînes de caractères sont immuables, il est donc possible de lire s[i] mais pas d’y affecter une valeur.
12s = "python" s[0] = 'P' # TypeError: 'str' object does not support item assignment
Découpage
Un découpage utilise start:stop:step et retourne une nouvelle chaîne. stop est exclusif (il n'est pas inclus).
12345s = "python" print(s[1:4]) # 'yth' (indices 1,2,3) print(s[:4]) # 'pyth' (start defaults to 0) print(s[3:]) # 'hon' (stop defaults to len(s)) print(s[::2]) # 'pto' (every 2nd character)
Les découpages sont tolérants : dépasser les limites ajuste simplement aux bornes valides (aucune erreur).
12s = "python" print(s[0:100]) # 'python'
Indices négatifs et inversion
Possibilité de combiner des indices négatifs dans les tranches, et un step négatif permet de parcourir la chaîne en sens inverse.
123s = "python" print(s[-3:]) # 'hon' (last three) print(s[::-1]) # 'nohtyp' (reverse)
step ne peut pas être 0. Omettre step implique 1. Omettre start ou stop signifie « depuis le début » / « jusqu'à la fin ».
1. Quelle valeur ce code affichera-t-il ?
2. Quelle valeur ce code affichera-t-il ?
3. Quelle instruction provoque une erreur pour u = "hello" ?
Merci pour vos commentaires !