Comment diviser une chaîne en Python (délimiteurs et Maxsplit)

Apprenez à diviser une chaîne en une liste en Python à l'aide de la méthode split(). Explorez le fractionnement par espaces, virgules, nouvelles lignes et limitez le nombre de fractionnements.

Essayez cette solution dans l'éditeur

Aperçu

Le fractionnement de chaînes est l’une des opérations de traitement de texte les plus courantes. Que vous analysiez un fichier CSV, scindiez des journaux, traitiez les entrées de l'utilisateur ou extrayiez des mots d'un document, les méthodes de chaîne intégrées de Python rendent cette tâche triviale. La méthode clé pour cela est `.split()`, qui divise une chaîne en une liste de sous-chaînes.

Par défaut, appeler `split()` sans aucun argument divise la chaîne par n'importe quel espace (espaces, tabulations, nouvelles lignes) et supprime les espaces consécutifs. Si vous devez partitionner une chaîne en fonction d'un caractère spécifique, tel qu'une virgule dans les données CSV, vous transmettez ce caractère comme séparateur (par exemple, `text.split(",")`).

La méthode `split()` accepte également un deuxième paramètre facultatif appelé `maxsplit`. Ceci détermine le nombre maximum de fractionnements à effectuer. Le reste de la chaîne est renvoyé comme élément final de la liste, ce qui est très utile lorsque vous souhaitez analyser uniquement les premiers jetons d'une commande ou d'un message.

Sortie de code et d'exécution

Ce script montre le fractionnement de chaînes à l'aide de délimiteurs par défaut, de délimiteurs personnalisés et la limitation des fractionnements à l'aide de maxsplit.

sentence = "Python is fun to learn"
csv_data = "apple,banana,orange,grape"

# 1. Split by whitespace (default)
words = sentence.split()
print("Whitespace split:", words)

# 2. Split by comma separator
fruits = csv_data.split(",")
print("Comma split:", fruits)

# 3. Using maxsplit parameter
limited_split = csv_data.split(",", maxsplit=2)
print("Maxsplit of 2:", limited_split)
Sortie terminale
Whitespace split: ['Python', 'is', 'fun', 'to', 'learn']
Comma split: ['apple', 'banana', 'orange', 'grape']
Maxsplit of 2: ['apple', 'banana', 'orange,grape']

Mise en œuvre étape par étape

  • Appelez la méthode .split() sur la variable chaîne.
  • Transmettez une chaîne de séparation telle que ',' ou '\n' à diviser par un délimiteur personnalisé.
  • Utilisez l'argument maxsplit pour arrêter le fractionnement après un nombre spécifique d'éléments.

Foire aux questions

Comment split() gère-t-il les espaces consécutifs ?

Par défaut (sans arguments), les espaces consécutifs sont traités comme un seul séparateur. Cependant, si vous transmettez " ", des espaces consécutifs produiront des chaînes vides dans la liste de sortie.

Comment puis-je diviser une chaîne par plusieurs délimiteurs différents ?

Pour diviser par plusieurs délimiteurs (comme des virgules, des espaces et des points-virgules), utilisez des expressions régulières via la fonction re.split().

Sujets connexes

Ressources Python recommandées

Développez vos connaissances avec des didacticiels interactifs, des aide-mémoire et des comparaisons de codes associés.