1. À propos de join() en Python
En Python, la méthode join() permet d'assembler plusieurs chaînes de caractères en une seule chaîne. Elle insère un séparateur choisi entre les différents éléments à réunir.
Contrairement à des méthodes comme split(), qui découpent une chaîne en plusieurs parties, join() réalise l'opération inverse : elle rassemble plusieurs chaînes pour former un seul texte.
Dans l'exemple suivant, les trois mots contenus dans une liste sont assemblés en utilisant un espace comme séparateur.
1 2 3 | mots = ["Python", "est", "facile"] texte = " ".join(mots) print(texte) |
Sortie :
1 | Python est facile |
Le séparateur est la chaîne placée avant .join(). Ici, il s'agit d'un espace. join() insère cet espace entre chaque paire d'éléments de la liste.
La méthode join() renvoie une nouvelle chaîne sans modifier la liste originale.
1 2 3 4 | mots = ["Python", "Java", "PHP"] resultat = " - ".join(mots) print("Liste :", mots) print("Résultat :", resultat) |
Sortie :
1 2 | Liste : ['Python', 'Java', 'PHP'] Résultat : Python - Java - PHP |
2. Assembler les éléments d'une liste avec join()
L'utilisation la plus courante de join() consiste à assembler les chaînes contenues dans une liste. Le séparateur peut être un espace, une virgule ou n'importe quelle autre chaîne de caractères.
Dans l'exemple suivant, un espace est inséré entre les différents mots.
1 2 3 | mots = ["Apprendre", "Python", "facilement"] phrase = " ".join(mots) print(phrase) |
Sortie :
1 | Apprendre Python facilement |
Une chaîne vide peut également servir de séparateur. Dans ce cas, les éléments sont assemblés directement sans aucun caractère entre eux.
1 2 3 | lettres = ["P", "y", "t", "h", "o", "n"] mot = "".join(lettres) print(mot) |
Sortie :
1 | Python |
Si la liste ne contient qu'un seul élément, join() retourne simplement cet élément, car aucun séparateur n'a besoin d'être inséré.
1 2 3 | mots = ["Python"] resultat = " - ".join(mots) print(resultat) |
Sortie :
1 | Python |
Si la liste est vide, join() retourne une chaîne vide.
1 2 3 | mots = [] resultat = " ".join(mots) print("Longueur :", len(resultat)) |
Sortie :
1 | Longueur : 0 |
3. Choisir le séparateur avec join()
La chaîne placée avant .join() détermine le séparateur à insérer entre les éléments. Il est ainsi possible d'adapter facilement le résultat au format souhaité.
Dans l'exemple suivant, une virgule suivie d'un espace est utilisée pour construire une liste de villes sous forme de texte.
1 2 3 | villes = ["Oujda", "Rabat", "Casablanca"] resultat = ", ".join(villes) print(resultat) |
Sortie :
1 | Oujda, Rabat, Casablanca |
Un tiret peut être utilisé comme séparateur pour assembler les différentes parties d'une date.
1 2 3 | date = ["2026", "10", "19"] resultat = "-".join(date) print(resultat) |
Sortie :
1 | 2026-10-19 |
Le séparateur peut contenir plusieurs caractères. Dans l'exemple suivant, une flèche textuelle est placée entre les différentes étapes.
1 2 3 | etapes = ["Début", "Traitement", "Fin"] resultat = " -> ".join(etapes) print(resultat) |
Sortie :
1 | Début -> Traitement -> Fin |
Le caractère de saut de ligne \n peut lui aussi servir de séparateur. Chaque élément est alors placé sur une nouvelle ligne.
1 2 3 | langages = ["Python", "Java", "PHP"] resultat = "\n".join(langages) print(resultat) |
Sortie :
1 2 3 | Python Java PHP |
4. Utiliser join() avec différents itérables
join() n'est pas limitée aux listes. Elle peut assembler les éléments de différents itérables, à condition que les éléments fournis soient des chaînes de caractères.
Utiliser join() avec un tuple
Un tuple contenant uniquement des chaînes peut être transmis directement à join().
1 2 3 | langages = ("Python", "Java", "PHP") resultat = " | ".join(langages) print(resultat) |
Sortie :
1 | Python | Java | PHP |
Utiliser join() avec une chaîne
Une chaîne est elle-même un itérable de caractères. join() peut donc insérer un séparateur entre chacun de ses caractères.
1 2 3 | mot = "Python" resultat = "-".join(mot) print(resultat) |
Sortie :
1 | P-y-t-h-o-n |
Utiliser join() avec les clés d'un dictionnaire
Lorsqu'un dictionnaire est directement transmis à join(), l'itération s'effectue sur ses clés. Dans cet exemple, les clés sont toutes des chaînes de caractères.
1 2 3 | langages = {"Python": 1, "Java": 2, "PHP": 3} resultat = ", ".join(langages) print(resultat) |
Sortie :
1 | Python, Java, PHP |
Il est également possible d'assembler explicitement les valeurs d'un dictionnaire lorsque celles-ci sont des chaînes.
1 2 3 | utilisateur = {"nom": "Yassine", "ville": "Oujda"} resultat = " - ".join(utilisateur.values()) print(resultat) |
Sortie :
1 | Yassine - Oujda |
5. Assembler des valeurs qui ne sont pas des chaînes
La méthode join() exige que tous les éléments de l'itérable soient des chaînes de caractères. Une liste contenant directement des nombres ne peut donc pas être assemblée avec join().
Dans l'exemple suivant, les nombres sont convertis en chaînes avec str() avant d'être assemblés.
1 2 3 | nombres = [10, 20, 30, 40] resultat = ", ".join(str(nombre) for nombre in nombres) print(resultat) |
Sortie :
1 | 10, 20, 30, 40 |
La fonction map() peut également être utilisée pour appliquer str() à chaque élément avant l'appel à join().
1 2 3 | nombres = [1, 2, 3, 4, 5] resultat = "-".join(map(str, nombres)) print(resultat) |
Sortie :
1 | 1-2-3-4-5 |
Sans conversion, la présence d'un entier provoque une exception TypeError. Le programme suivant intercepte cette exception pour montrer le comportement de Python.
1 2 3 4 5 6 | valeurs = ["Python", 2026] try: resultat = " ".join(valeurs) print(resultat) except TypeError: print("Erreur : tous les éléments doivent être des chaînes") |
Sortie :
1 | Erreur : tous les éléments doivent être des chaînes |
6. Exemples pratiques avec join()
Construire une phrase à partir de mots
join() est particulièrement pratique pour reconstruire une phrase à partir d'une liste de mots.
1 2 3 | mots = ["Python", "est", "un", "langage", "puissant"] phrase = " ".join(mots) print(phrase) |
Sortie :
1 | Python est un langage puissant |
Transformer une liste en texte séparé par des virgules
Pour présenter plusieurs valeurs sur une même ligne, on peut utiliser une virgule suivie d'un espace comme séparateur.
1 2 3 | technologies = ["Python", "Django", "HTML", "CSS"] resultat = ", ".join(technologies) print(resultat) |
Sortie :
1 | Python, Django, HTML, CSS |
Construire un chemin simple
join() peut assembler plusieurs noms de dossiers dans une chaîne utilisant "/" comme séparateur. Pour construire de véritables chemins de fichiers portables, pathlib est toutefois préférable.
1 2 3 | parties = ["documents", "python", "cours"] chemin = "/".join(parties) print(chemin) |
Sortie :
1 | documents/python/cours |
Assembler des lignes de texte
join() peut réaliser l'opération complémentaire de splitlines(). Après avoir placé plusieurs lignes dans une liste, "\n".join() permet de les réunir dans une seule chaîne multiligne.
1 2 3 | lignes = ["Introduction", "Chapitre 1", "Conclusion"] texte = "\n".join(lignes) print(texte) |
Sortie :
1 2 3 | Introduction Chapitre 1 Conclusion |
Combiner split() et join()
split() et join() peuvent être combinées pour modifier le séparateur d'une chaîne. Ici, la chaîne est d'abord découpée sur les tirets, puis reconstruite avec des espaces.
1 2 3 4 | texte = "apprendre-python-facilement" mots = texte.split("-") resultat = " ".join(mots) print(resultat) |
Sortie :
1 | apprendre python facilement |
Supprimer les espaces multiples entre les mots
Une utilisation pratique consiste à combiner split() sans argument et join() avec un espace. split() regroupe les suites de caractères d'espacement, puis join() reconstruit la phrase avec un seul espace entre les mots.
1 2 3 | texte = "Python est facile" resultat = " ".join(texte.split()) print(resultat) |
Sortie :
1 | Python est facile |
7. À retenir !
La méthode join() permet d'assembler les éléments d'un itérable de chaînes en insérant un séparateur entre eux. Elle constitue une méthode simple et adaptée pour construire une chaîne à partir de plusieurs fragments de texte.
- join() assemble plusieurs chaînes pour former une seule chaîne.
- La chaîne placée avant .join() constitue le séparateur.
- " ".join(...) insère un espace entre les éléments.
- "".join(...) assemble les éléments sans séparateur.
- ", ".join(...) sépare les éléments par une virgule et un espace.
- "\n".join(...) place les éléments sur des lignes différentes.
- join() peut être utilisée avec différents itérables comme les listes et les tuples.
- Tous les éléments à assembler doivent être des chaînes de caractères.
- Les nombres doivent être convertis en chaînes, par exemple avec str() ou map(str, ...).
- join() peut être combinée avec split() ou splitlines() pour transformer facilement du texte.
Le programme suivant résume plusieurs utilisations courantes de join() avec différents séparateurs.
1 2 3 4 5 | mots = ["Python", "est", "facile"] print(" ".join(mots)) print("-".join(mots)) print(", ".join(mots)) print("".join(["P", "y", "t", "h", "o", "n"])) |
Sortie :
1 2 3 4 | Python est facile Python-est-facile Python, est, facile Python |
Auteur : Younes Derfoufi
Lieu de travail : CRMEF OUJDA
Site Web : www.tresfacile.net
Chaine YouTube : https://www.youtube.com/user/InformatiquesFacile
Me contacter : https://www.tresfacile.net/me-contacter/



