Exercice 19 / 100

Split et join

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

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

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'
exercise.py

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