Comment utiliser Split en Python
Sommaire
- 1- Objectifs
- 2- Présentation
- 3- Syntaxe de la fonction split()
- 4- Paramètres de la méthode split()
- 5- Le séparateur de champs
- 5.1- Espace blanc
- 5.2- Tabulation
- 5.3- Fractionnement de la chaîne à la première occurrence
- 5.4- Fractionnement d'une chaîne avec plusieurs délimiteurs
- 5.5- Autres séparateurs
- 6- maxsplit
- 7- La méthode
rsplit ()
- 8- Applications
- 8.1- App
- 8.2- Solution
- 8.3- App
- 8.3.1- Cours Python
Comment utiliser Split en Python
-
Objectifs
- Être capable d’utiliser la méthode Split en Python.
-
Présentation
- Les chaînes en Python sont immuables, ce qui signifie qu’une fois créées, elles ne peuvent pas être modifiées.
- Cependant, nous pouvons faire une copie de la chaîne et effectuer diverses opérations dessus. Pour cela, Python fournit une classe distincte “str” pour la gestion et les manipulations des chaînes. Une de ces opérations consiste à diviser une grande chaîne en morceaux ou sous-chaînes plus petits.
- La classe Python “str” fournit une fonction intégrée
split()
pour faciliter cette opération de fractionnement sur les chaînes. - La fonction
split ()
est l’opposé de la concaténation qui concatène de petites chaînes pour former une grande chaîne, tandis quesplit()
est utilisé pour diviser une grande chaîne en sous-chaînes plus petites. - Elle retourne le nombre d’éléments d’une chaîne de caractères ou d’une liste.
- C’est l’opposé de la concaténation qui fusionne ou combine des chaînes en une seule.
split()
divise ou décompose une chaîne et ajoute les données à un tableau de chaînes à l’aide d’un séparateur défini.- La méthode
.split()
découpe une chaîne de caractères en plusieurs éléments appelés champs, en utilisant comme séparateur n’importe quelle combinaison "d’espace(s) blanc(s)". split()
: convertit une chaîne en une liste de sous-chaînes. On peut choisir le caractère séparateur en le fournissant comme argument, sinon c’est un espace par défaut.-
Syntaxe de la fonction split()
- La syntaxe de la fonction split() est la suivante:
-
Paramètres de la méthode split()
- La méthode
split()
prend deux paramètres: - séparateur: est un délimiteur. La chaîne se divise à ce séparateur spécifié. Si n’est pas fourni, tout espace blanc est un séparateur.
- maxsplit: C’est un nombre qui nous dit de scinder la chaîne en un nombre maximum de fois. S’il n’est pas fourni, il n’y a pas de limite.
-
Le séparateur de champs
- Il indique à Python où casser la chaîne. Il fonctionne comme un délimiteur et la chaîne est séparée en fonction du séparateur prédéfini.
- Il est facultatif, ce qui signifie que si le séparateur n’est pas spécifié dans split, la fonction utilise un espace blanc comme séparateur par défaut.
- Cependant, si le séparateur est spécifié en tant que valeur de chaîne, la sortie sera une chaîne vide.
-
Espace blanc
- Un espace blanc (whitespace en anglais) correspond aux caractères qui sont invisibles à l’œil, mais qui occupent de l’espace dans un texte. Les espaces blancs les plus classiques sont l’espace, la tabulation et le retour à la ligne.
- on peut écrire
chaine.split()
. Par exemple,' a b c '.split()
donne['a', 'b', 'c']
. split
se comporte différemment sans argument ou avec une chaîne ayant un espace :' a b'.split(' ')
: renvoie['', 'a', '', 'b']
' a b'.split()
: renvoie['a', 'b']
: les chaines vides sont éliminés !-
Tabulation
chaine.split('\t')
: splitte sur les tabulations, et se comporte bien par défaut si à la fin de la chaîne, il y a des tabulations consécutives-
Fractionnement de la chaîne à la première occurrence
- Lorsque nous divisons une chaîne en fonction de la première occurrence d’un caractère, il en résulte deux sous-chaînes : la première sous-chaîne contient les caractères avant le séparateur et la deuxième sous-chaîne contient le caractère après le séparateur.
- Un exemple de fractionnement d’une chaîne à la première occurrence d’un caractère est illustré ci-dessous :
- Ici, nous avons déclaré str avec une valeur de chaîne “abcabc” . La fonction
split ()
est implémentée avec le séparateur comme “c” et la valeur maxsplit est prise comme 1 . Chaque fois que le programme rencontre “c” dans la chaîne, il sépare la chaîne en deux sous-chaînes – la première chaîne contient des caractères avant “c” et la seconde contient des caractères après “c“. -
Fractionnement d’une chaîne avec plusieurs délimiteurs
- Vous pouvez fractionner une chaîne à l’aide de plusieurs délimiteurs en mettant différents caractères comme séparateur dans la fonction Fractionner.
- Un délimiteur est un ou plusieurs caractères dans une séquence qui sont utilisés pour désigner les limites entre les régions d’un texte. Une virgule (“,“) ou un deux-points (“:“) est un exemple de délimiteur. Une chaîne avec plusieurs délimiteurs peut être fractionnée à l’aide de la fonction
re.split ()
. - Un exemple de fractionnement d’une chaîne avec plusieurs délimiteurs est illustré ci-dessous :
- Dans l’exemple ci-dessus, nous importons le module intégré re qui importe les bibliothèques et les fonctions de “Regular Expressions“. La variable str est déclarée avec une chaîne avec plusieurs délimiteurs comme une nouvelle ligne (\n) , un point-virgule (;) ou un astérisque (*).
- La fonction
re.split ()
est implémentée avec différents délimiteurs comme séparateur et la sortie est une liste de chaînes à l’exclusion des délimiteurs. -
Autres séparateurs
- Il est possible de modifier le séparateur de champs, par exemple :
- Dans cet exemple, le séparateur est un seul caractères "
:
" (et non pas une combinaison de un ou plusieurs:
) conduisant ainsi à une chaîne vide entre singe et souris. - Vous pouvez également diviser n’importe quelle chaîne avec un caractère dièse (#) comme délimiteur. La fonction
Split ()
prend un hachage (#) comme séparateur, puis divise la chaîne au point où un hachage est trouvé. Le résultat est une liste de sous-chaînes. - La variable str est déclarée avec une chaîne avec des caractères dièse (#) entre eux. La fonction Split est exécutée avec un hachage comme séparateur.
- La fonction divise la chaîne partout où elle trouve un hachage (#) et le résultat est une liste de sous-chaînes à l’exclusion du caractère de hachage.
str.split (séparateur, maxsplit)
a_string = "a\tb\tc\td\te"
print(a_string)
PRODUCTION
a b c d e
split_string = a_string.split("\t")
print(split_string)
PRODUCTION
['a', 'b', 'c', 'd', 'e']
str = "abcabc"
print(str.split('c'))
#La sortie du code ci-dessus est la suivante :
['ab', 'ab', '']
import re
str = 'Python\nest; un*langage\ntrès\nfacile'
print(re.split('; |, |\*|\n',str))
#La sortie du code ci-dessus est la suivante :
['Python', 'est', 'un', 'langage', 'très', 'facile']
>>> animaux = "girafe:tigre:singe::souris"
>>> animaux.split(":")
['girafe', 'tigre', 'singe', '', 'souris']
str = 'Python#est#un#langage#très#facile'
print(str.split('#'))
# La sortie du code ci-dessus est la suivante :
['Python', 'est', 'un', 'langage', 'très', 'facile']
maxsplit
- La méthode
split ()
prend également un paramètremaxsplit
qui définit le nombre de fractionnements qui doivent avoir lieu. Il spécifie le nombre de fois que la chaîne peut être divisée. - c’est un paramètre facultatif et sa valeur par défaut est -1, ce qui indique qu’il n’y a pas de limite au nombre de fois qu’une chaîne peut être divisée, autrement il n’y a pas de limite sur le nombre de fractionnements
- Si maxsplit n’est pas défini dans la fonction split, la chaîne entière est analysée et Python la sépare chaque fois qu’un délimiteur est rencontré.
- Il est également intéressant d’indiquer à
.split()
le nombre de fois qu’on souhaite découper la chaîne de caractères avec l’argumentmaxsplit
>>> animaux = "girafe tigre singe souris"
>>> animaux.split(maxsplit=1)
['girafe', 'tigre singe souris']
>>> animaux.split(maxsplit=2)
['girafe', 'tigre', 'singe souris']
La méthode rsplit ()
- La syntaxe de la fonction rsplit() est la suivante:
str.rsplit (séparateur, maxsplit)
rsplit ()
sépare la chaîne de la droite au séparateur spécifié et renvoie une liste de chaînes.split()
et rsplit()
est lorsque le paramètre maxsplit est spécifié.rsplit()
commence à diviser une chaîne à partir du côté droit (à partir du dernier caractère), tandis que la méthode split()
commence à diviser à partir du côté gauche (à partir du premier caractère).maxsplit
n’est spécifié, cette méthode retournera le même que la méthodesplit()
.chaine = "pomme, banane, cerise"
nouvChaine = chaine.rsplit(", ")
print(nouvChaine)
Production
['pomme', 'banane', 'cerise']
Si maxsplit est spécifié, rsplit()
compte les divisions à partir de l’extrémité droite, tandis quesplit ()
les compte à partir de la gauche. Sinon, ils se comportent tous deux exactement de la même manière.La méthode rsplit()
lèvera le ValueError si un séparateur est une chaîne vide ”.
Applications
-
App
- Écrire un programme python pour demander à l’utilisateur d’entrer son prénom et son nom en réponse à une seule invite.
- Le programme doit utiliser la méthode
split ()
pour extraire le prénom et le nom , puis attribue chaque partie (prenom et nom) à une variable différente. - Pour cet exercice, vous pouvez supposer que l’utilisateur a un seul prénom et un seul nom de famille.
-
Solution
- Essayez de faire l’exercice de votre côté avant de regarder la Solution !
-
App