8.5 Découpage et jonction de chaînes de caractères
Objectifs d'apprentissage
À la fin de cette section, vous devriez être capable de :
- Utiliser la méthode
split()pour découper une chaîne de caractères en sous-chaînes. - Combiner les objets d'une liste en une chaîne de caractères à l'aide de la méthode
join().
split()
En Python, une chaîne de caractères peut être découpée en sous-chaînes à l'aide d'un délimiteur (delimiter). Un délimiteur est également appelé un séparateur. La méthode split(), lorsqu'elle est appliquée à une chaîne de caractères, la découpe en sous-chaînes en utilisant l'argument fourni comme délimiteur. Ex. : "1-2".split('-') renvoie une liste de sous-chaînes ["1", "2"]. Lorsqu'aucun argument n'est fourni à la méthode split(), les caractères d'espacement sont utilisés comme délimiteurs. Ex. : "1\t2\n3 4".split() renvoie ["1", "2", "3", "4"].
Concepts en pratique
Exemples de délimiteurs de chaînes et de la méthode split()
join()
La méthode join() est l'inverse de la méthode split() : une liste de valeurs de chaînes de caractères est concaténée pour former une chaîne de caractères de sortie. Lors de la jonction d'éléments de chaîne dans la liste, le délimiteur est inséré entre les éléments. Ex. : ','.join(["this", "is", "great"]) renvoie "this,is,great".
Concepts en pratique
Application de la méthode join() sur une liste de valeurs de chaînes
À vous d'essayer
Mots uniques et séparés par des virgules
Écrivez un programme qui accepte en entrée une séquence de mots séparés par des virgules et affiche les mots sur des lignes distinctes. Ex. : Pour la chaîne "happy,smiling,face", la sortie sera :
happy
smiling
face
À vous d'essayer
Commande de déjeuner
Utilisez la méthode join() pour récapituler la commande d'un client dans un restaurant, séparée par des virgules. L'utilisateur saisira chaque aliment sur une ligne distincte. Une fois la commande terminée, l'utilisateur saisira une ligne vide. La sortie dépend du nombre d'articles commandés par l'utilisateur :
- Si l'utilisateur ne saisit rien, le programme affiche :
You ordered nothing. - Si l'utilisateur saisit un article (ex. : eggs), le programme affiche :
You ordered eggs. - Si l'utilisateur saisit deux articles (ex. : eggs, ham), le programme affiche :
You ordered eggs and ham. - Si l'utilisateur saisit trois articles ou plus (ex. : eggs, ham, toast), le programme affiche :
You ordered eggs, ham, and toast.
Dans le cas général de trois éléments ou plus, chaque élément doit être séparé par une virgule et un espace. Le mot « and » doit être ajouté avant le dernier élément.