Le fractionnement des chaînes de caractères en Python sans split()
Quelles sont les autres façons de découper une chaîne sans utiliser la méthode split ()? Par exemple, comment pourrait - ['Ceci est une Phrase'] être divisé en ['Ce', 'est', 'a', 'Phrase'] sans l'utilisation de la méthode split ()?
- vous ne pouvez pas diviser une liste à l'aide de la fonction split()
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser des expressions régulières si vous le souhaitez:
La
\S
représente n'importe quel caractère qui n'est pas d'espaces, et les+
dit de trouver un ou plusieurs de ces caractères dans une ligne.re.findall
permettra de créer unlist
de toutes les chaînes qui correspondent à ce modèle.Mais, vraiment,
s.split()
est la meilleure façon de le faire.De commencer avec une liste de chaînes de caractères, si vous souhaitez couper ces cordes sont un couple de façons de le faire selon ce que votre sortie désirée est.
Cas 1: Une liste de chaînes de caractères (
old_list
) divisé en une nouvelle liste de chaînes de caractères (new_list
).Par exemple
['This is a Sentence', 'Also a sentence']
->['This', 'is', 'a', 'Sentence', 'Also', 'a', 'sentence']
.Suit:
for sentence in old_list:
word
).for ch in sentence:
word
n'est pas vide et l'ajouter à la liste nouvelle, sinon, ajouter du caractère àword
.word
à la liste après une boucle par tous les personnages.Le code final:
C'est l'équivalent de
ou encore plus simple
Cas 2: Une liste de chaînes de caractères (
old_list
) divisé en un nouveau liste de listes de chaînes (new_list
).Par exemple
['This is a Sentence', 'Also a sentence']
->[['This', 'is', 'a', 'Sentence'], ['Also', 'a', 'sentence']]
.Suit:
for sentence in old_list:
word
) et une nouvelle liste pour garder une trace des mots dans cette chaîne (sentence_list
).for ch in sentence:
word
n'est pas vide et l'ajouter àsentence_list
, sinon, ajouter du caractère àword
.word
àsentence_list
après une boucle par tous les personnages.Append
(pasextend
)sentence_list
de la nouvelle liste et passer à la chaîne suivante.Le code final:
C'est l'équivalent de
ou en utilisant la liste des interprétations de la
C'est un code simple pour diviser un char de la valeur à partir d'une chaîne de valeur; je.e
D'ENTRÉE : UDDDUDUDU
DE SORTIE: ['U','D','D','D','U','T','U','T','U']
Une version récursive, de briser les étapes en détail:
Ou court une ligne de la forme: