Python split : comment fractionner des chaînes de caractères

Avec Python split, le langage de programmation Internet vous permet de fractionner des chaînes de caractères à des points fixes. Vous pouvez définir les modalités de ce fractionnement en détail à l’aide des deux paramètres separator et maxsplit.

Hébergement Web avec conseiller personnel !

Hébergement Web puissant, flexible et performant avec boîte email, conseiller personnel et domaine inclus la 1ère année !

Domaine
Certificat SSL
Assistance 24/7

Qu’est-ce que Python split ?

Dans certains cas, il peut s’avérer utile, voire nécessaire, de découper une chaîne Python. La méthode appropriée est Python split. Le fractionnement est généralement opéré sur les espaces d’une chaîne de caractères et peut être géré à l’aide de différents paramètres. Python split s’utilise sous différentes formes, chacune adaptée en fonction de l’application.

Syntaxe et mode de fonctionnement de Python split

La syntaxe fondamentale de Python split est la suivante :

string.split(separator, maxsplit)

separator et maxsplit sont les deux paramètres qui peuvent être utilisés en option. En l’absence d’un paramètre spécifié, Python split fractionne la chaîne de caractères correspondante à chaque espace individuel. Le paramètre separator spécifie la chaîne à de caractères à fractionner. Le fractionnement correspondant est opéré à chacune de ses occurrences. Vous pouvez utiliser maxsplit pour spécifier la fréquence de fractionnement de la chaîne. Si vous ne spécifiez pas ce paramètre, le programme effectuera un nombre infini de fractionnements.

Exemples simples de Python split avec separator

Ces trois exemples simples permettent d’illustrer comment une chaîne de caractères peut être fractionnée avec Python split. Vous trouverez la structure fondamentale du code dans un tutoriel Python.

Fractionner au niveau des espaces

Dans le premier code, la chaîne est normalement fractionnée au niveau des espaces. Le code correspondant est le suivant :

text = "Ceci est un exemple"
print(text.split())

La sortie correspondante se présente comme suit :

["Ceci", "est", "un", "exemple"]

Fractionner au niveau des virgules

Dans le deuxième exemple, vous fractionnez la chaîne de caractères au niveau des virgules. Voici la commande appropriée :

animaux = "chien, chat, souris, cheval"
print(animaux.split(", " ))

La sortie suivante s’affiche :

["chien", "chat", "souris", "cheval"]

Fractionner au niveau du dièse

Vous pouvez également utiliser un dièse pour séparer les termes les uns des autres et opérer ainsi un fractionnement. Vous affectez la valeur x à Python split. Voici le code correspondant :

farbstring = "bleu#rouge#jaune#orange"
couleurs = farb_string.split("#")
print (couleurs)

La sortie s’apparente ensuite à ceci :

["bleu", "rouge", "jaune", "orange"]

Définissez maxsplit pour Python split

Le second paramètre maxsplit fonctionne de manière similaire. Ces trois exemples en illustrent le fonctionnement :

maxsplit par 0

Dans le premier exemple, nous avons défini maxsplit par 0 :

couleurs = "bleu, rouge, jaune, orange"
print(couleurs.split(", ", 0))

Le résultat se présente ensuite comme suit :

["bleu, rouge, jaune, orange"]

maxsplit par 1

Si vous définissez maxsplit par 1, le résultat sera modifié. Voici le code :

couleurs = "bleu, rouge, jaune, orange"
print(couleurs.split(", ", 1))

Voici la sortie après Python split :

["bleu", "rouge, jaune, orange"]

maxsplit par 2

Pour un double fractionnement, définissez maxsplit par 2 et exécutez Python split. Voici le code approprié :

couleurs = "bleu, rouge, jaune, orange"
print(couleurs.split(", ", 2))

Le résultat est le suivant :

["bleu", "rouge", "jaune, orange"]

Python split au sein de mots isolés

Si la variante par défaut d’un fractionnement est opérée sur des virgules ou des espaces, vous pouvez également fractionner des chaînes de caractères au sein de mots spécifiques. Dans l’exemple suivant, nous reprenons nos noms d’animaux et les fractionnons sur la base de la lettre a. Cela fonctionne comme suit :

animaux = "chien, chat, souris, cheval"
print(animaux.split("a"))

La sortie semble inhabituelle, mais fonctionne comme prévu :

["chien, ch", "t, souris, chev", "l"]

Si vous ajoutez le paramètre maxsplit et limitez le nombre de fractions à 1, le résultat suivant apparaît :

animaux = "chien, chat, souris, cheval"
print(animaux.split("a", 1))
["chien, ch", "t, souris, cheval"]

Convertir une chaîne en liste avec Python split

Une fonctionnalité populaire et souvent très utile de Python split est la conversion d’une chaîne en une liste Python. Vous devez faire appel aux deux paramètres separator et maxsplit à cet effet. Dans l’exemple suivant, notre liste de couleurs est fractionnée au niveau des dièses et organisée par maxsplit en une liste composée au maximum de deux éléments. Pour cela, nous avons défini maxsplit par la valeur 1. Le code correspondant se présente comme suit :

farb_string = "bleu#rouge#jaune#orange"
couleurs = farb_string.split("#", 1)
print(couleurs)

Nous obtenons la sortie suivante :

["bleu", "rouge#jaune#orange"]

La différence entre Python split et rsplit

Outre Python split, la méthode rsplit se propose également à vous. Elle est similaire à la variante présentée ici et retourne effectivement le même résultat précis dans de nombreuses applications. En particulier, si le paramètre facultatif maxsplit n’est pas spécifié, la sortie est identique. Si vous définissez toutefois le paramètre separator par None, en le laissant vide, et si vous définissez maxsplit par 2, vous observerez une différence :

animaux = "chien, chat, souris, cheval"
print(animaux.split(None, 2))

Voici la sortie avec Python split :

["chien", "chat", "souris, cheval"]

Python split divise ainsi la chaîne à partir de la gauche. Si vous utilisez maintenant rsplit avec le code suivant :

animaux = "chien, chat, souris, cheval"
print(animaux.rsplit(None, 2))

vous obtenez cette sortie :

["chien, chat", "souris", "cheval"]

Le fractionnement avec rsplit est donc exercé sur la droite.