Python >> Tutoriel Python >  >> Python

Découpage de chaînes en Python

Le découpage de chaîne est un concept pour découper une sous-chaîne à partir d'une chaîne donnée. Utiliser la notation de découpage s[start:stop:step] pour accéder à tous les step -ème élément à partir de l'index start (inclus) et se terminant par l'index stop (exclu). Les trois arguments sont facultatifs, vous pouvez donc les ignorer pour utiliser les valeurs par défaut (start=0 , stop=len(string) , step=1 ). Par exemple, l'expression s[2:4] à partir de la chaîne 'hello' taille la tranche 'll' et l'expression s[:3:2] taille la tranche 'hl' .

Examinons ensuite plusieurs exemples.

Démarrage et arrêt par défaut du découpage de chaîne

Dans l'extrait de code suivant, vous créez une chaîne et découpez la chaîne en utilisant uniquement les arguments par défaut. Cela crée une copie de la chaîne d'origine.

>>> string = 'hello world'
>>> string[:]
'hello world'

String Slicing :comment ignorer le premier caractère

La prochaine opération de découpage de chaîne crée une nouvelle chaîne commençant après le premier caractère. Il utilise un index d'arrêt par défaut, de sorte qu'il découpe toute la chaîne, à l'exclusion uniquement du premier caractère.

>>> string[1:]
'ello world'

String Slicing :comment ignorer le dernier caractère

Vous pouvez utiliser des indices négatifs comme arguments de démarrage ou d'arrêt de l'opération de découpage de chaîne. Dans ce cas, Python commence à compter à partir de la droite. Par exemple, l'indice négatif -1 pointe vers le dernier caractère de la chaîne, l'indice -2 pointe vers l'avant-dernier et ainsi de suite.

Si vous souhaitez ignorer le dernier caractère d'une chaîne, utilisez simplement -1 comme index d'arrêt de l'opération de découpage :

>>> string[:-1]
'hello worl'

String Slicing :comment ignorer tous les autres caractères

Vous pouvez ignorer tous les autres caractères en utilisant la taille de pas 2 avec les index de début et de fin par défaut :

>>> string[::2]
'hlowrd'

String Slicing :Définissez les trois arguments

Si vous définissez les trois arguments, vous pouvez contrôler l'index de début, l'index d'arrêt et la taille du pas. Cela permet une création puissante de nouvelles chaînes :

>>> string[1:6:2]
'el '

Le découpage en tranches de la fonctionnalité de langage ne s'applique pas seulement aux listes, mais également aux chaînes. Comme les listes et les chaînes sont des types de séquencement, le découpage n'est qu'une des nombreuses similitudes. Par exemple, vous pouvez également itérer sur les caractères d'une chaîne en utilisant le for boucle (par exemple for c in word ).

Puzzle Python String Slicing

Voici un exemple de casse-tête pour tester et améliorer votre compréhension du concept de découpage de cordes.

word = "bender"
print(word[1:4])

Quel est le résultat de cet extrait de code ?

Seule la moitié des utilisateurs de Finxter peuvent résoudre ce casse-tête. L'autre moitié des utilisateurs a des problèmes pour identifier l'index de fin correct de la tranche. Récapitulatif, l'index de fin n'est pas inclus dans la tranche. Ici vous pouvez voir les indices du mot puzzle.

e d
b n e r
0 1 2 3 4 5

Êtes-vous un maître codeur ?

Cliquez pour tester vos compétences en Python String Slicing sur l'application Finxter.com.

Vidéo associée