Comment diviser une chaîne en Python
Fractionner une chaîne en Python est assez simple. Vous pouvez y parvenir en utilisant la fonction intégrée "split ()" de Python.
La méthode split () en Python sépare chaque mot d'une chaîne à l'aide d'une virgule, la transformant en une liste de mots. Ce guide vous expliquera les différentes façons de diviser une chaîne en Python.
Comment utiliser la méthode de fractionnement Python
Comme mentionné précédemment, par défaut, la fonction intégrée split () de Python divise une chaîne en mots individuels séparés par des virgules. Mais il accepte deux arguments optionnels, et voici à quoi ressemble la syntaxe:
string.split([separatng criteria], [break point or max_split])
Lorsque vous spécifiez un critère de séparation , la fonction localise ce critère dans la chaîne et lance une division à ce stade. Sinon, par défaut, il divise la chaîne partout où il y a un espace blanc.
Jetez un œil à l'exemple ci-dessous pour voir comment cela fonctionne. Ici, les espaces blancs sont les critères de séparation par défaut, puisque nous n'en avons pas spécifié un:
myTexts = 'How to split a text in Python'
splitString = myTexts.split()
print(splitString)
Output: ['How', 'to', 'split', 'a', 'text', 'in', 'Python']
Voyons comment fonctionne la méthode split () lorsque vous spécifiez des critères de séparation. Dans cet exemple, une virgule est le critère de séparation:
myTexts = 'How to split, a text in, Python'
print(myTexts.split(", "))
Pour une meilleure compréhension, l'exemple de code ci-dessous divise les chaînes partout où il y a un point. Les points ici sont donc les critères de séparation:
myTexts = 'How to split.a text in.Python'
print(myTexts.split("."))
Output: ['How to split', 'a text in', 'Python']
max_split est un entier qui spécifie le nombre maximum de coupures dans une chaîne. Plus important encore, il indique le point où la chaîne se rompt.
Vous pouvez donc inclure cette valeur entre parenthèses pour casser la chaîne à des points spécifiques.
Par exemple, le code ci-dessous divise les textes en deux et s'arrête à la deuxième virgule:
myTexts = 'How, to, split, a, text, in, Python'
print(myTexts.split(", ", 2))
Output: ['How', 'to', 'split, a, text, in, Python']
Pour voir comment cela fonctionne davantage, séparez la chaîne dans le code ci-dessous, en la faisant s'arrêter sur le deuxième point:
myTexts = 'How.to split.a text.in.Python'
print(myTexts.split(".", 2))
Output: ['How', 'to split', 'a text.in.Python']
Bien que la méthode split () ne divise pas les chaînes en alphabets, vous pouvez y parvenir en utilisant la boucle for :
myTexts = 'How to split a text in Python'
Alphabets = []
for each in myTexts:
alphas = each
Alphabets.append(alphas)
print(Alphabets)
Au lieu d'ajouter à une liste comme nous l'avons fait dans le code ci-dessus, vous pouvez raccourcir le code en utilisant une compréhension de liste :
y = [each for each in myTexts]
print(y)
Créer un compteur de mots avec la fonction Python Split
Vous pouvez utiliser Python split () de plusieurs manières. Par exemple, vous pouvez compter le nombre de mots après avoir divisé chaque chaîne:
myTexts = 'How to split a text in Python'
print(len(myTexts.split()))
Output: 7
Modifiez le code ci-dessus pour compter les mots dans un fichier séparé. Vous pouvez créer une fonction pour ce faire. Mais ici, vous devez ouvrir et lire le fichier contenant le texte.
Ensuite, divisez d'abord le texte et exécutez un décompte en retournant la longueur de la division résultante à l'aide de la fonction intégrée len () :
def countWords(file):
myFile = open(file, 'r')
File = myFile.read()
splitString = File.split()
return len(splitString)
print(countWords('[Path to Yourfile.txt]'))
Bien que ce soit un peu délicat, vous pouvez également le faire en utilisant uniquement la boucle for :
def countWords(file):
myFile = open(file, 'r')
File = myFile.read()
File = [File]
for files in File:
return files.count(' ') + 1
print(countWords('[Path to Yourfile.txt]'))
Pour que la boucle for lise chaque mot séparément, vous devez insérer votre fichier dans une liste séparée comme nous l'avons fait dans le code ci-dessus. En outre, appliquez le nombre de mots en laissant un espace entre les guillemets vides entre parenthèses. Sinon, cela vous donne une mauvaise sortie.
Ainsi, le code fonctionne en comptant les espaces entre chaque mot, puis en ajoutant 1 au nombre total pour obtenir le nombre réel de mots.
Simplifiez votre code
La fonction split () est un outil Python précieux, et comme vous l'avez vu, vous pouvez l'utiliser pour compter les mots dans un fichier. Vous pouvez même résoudre d'autres problèmes à votre guise. Il existe de nombreuses autres fonctions intégrées dans Python comme celle-ci qui simplifient les opérations complexes rapidement et efficacement.
Ainsi, au lieu d'écrire de longs blocs de code, il est toujours utile d'essayer des méthodes intégrées plus efficaces, plus simples et plus rapides pour résoudre divers problèmes de codage. Cela dit, il existe de nombreuses autres façons de manipuler des chaînes en plus du fractionnement. Vous pouvez toujours les essayer pour améliorer la gestion de vos chaînes en Python.