Exercice 19 / 100

Split et join

ConsigneDécoupe 'python,sql,data' par virgule et reconstitue avec ' - '

📖 Cours

split() et join() sont les deux méthodes pour convertir entre une chaîne de caractères et une liste.

split : str → list

Découpe un texte selon un séparateur, renvoie une liste de morceaux.

Syntaxe

texte.split(separateur)

Exemples

'python,sql,data'.split(',') → ['python', 'sql', 'data']'a-b-c'.split('-') → ['a', 'b', 'c']'Bonjour le monde'.split() → ['Bonjour', 'le', 'monde'] (sans argument : split par espaces)'a,,b'.split(',') → ['a', '', 'b'] (champs vides conservés)

split() sans argument est spécial : il sépare par n'importe quel espace (espace, tab, newline) et ignore les espaces multiples.

join : list → str

Colle tous les éléments d'une liste en un seul texte, avec un séparateur entre chaque.

Syntaxe

separateur.join(liste)

Attention à la syntaxe : c'est le séparateur qui appelle .join(), pas la liste !

' - '.join(['a', 'b', 'c']) ✅ → 'a - b - c'

['a','b','c'].join(' - ') ❌ AttributeError

split découpe un texte en liste, join recolle une liste en texte, et c'est le séparateur qui appelle join, jamais la liste
split découpe un texte en liste, join recolle une liste en texte, et c'est le séparateur qui appelle join, jamais la liste

Exemples

' - '.join(['python', 'sql']) → 'python - sql'''.join(['p', 'y', 't', 'h']) → 'pyth''\n'.join(['ligne1', 'ligne2']) → 'ligne1\nligne2' (newline entre)

La liste doit contenir uniquement des str. Pour des nombres, il faut les convertir :

', '.join([1, 2, 3]) ❌ TypeError

', '.join(str(n) for n in [1,2,3]) ✅ → '1, 2, 3'

Exemple complet

mots = 'python,sql,data'.split(',') # ['python', 'sql', 'data']resultat = ' - '.join(mots) # 'python - sql - data'

Envie d'aller plus loin ? Découvrez nos formations certifiées Bac+2 à Bac+5 →