Comment transformer une Liste en String Python ?
En Python, on peut créer une liste de strings en les mettant ces chaînes de caractères entre crochets et en les séparant par des virgules.
💡 Vous voulez en apprendre plus sur les listes ? Alors vous aimerez sûrement mon article complet sur la fonction native
list()
en Python
Par exemple, voici une liste de strings :
site = ['comment', 'coder', '.com']
On peut effectuer plusieurs types d’opérations avec cette liste de mots.
Voyons ensemble les manières les plus utiles pour manipuler les listes de strings en Python.
Les listes de chaînes de caractères en Python
En Python, un objet list
est un type de variable qui permet de facilement stocker, puis lire, modifier et supprimer des éléments.
Il est fréquent d’avoir plusieurs strings dans une liste quand on code en Python.
C’est donc important de savoir comment les utiliser et c’est ce que nous allons voir dans cet article !
Comment déclarer une liste de strings en Python ?
Il y a deux manières de déclarer une liste de strings en Python. La manière implicite avec des crochets en déclarant directement les strings ou bien la manière plus explicite et orientée objet list()
et la méthode de liste .append()
pour rajouter les chaînes de caractère.
Option 1 (la plus utilisée) :
ma_liste = ['comment', 'coder', '.com']
Option 2 (explicite mais plus longue):
ma_liste = list()
ma_liste.append('comment')
ma_liste.append('coder')
ma_liste.append('.com')
Comment ajouter une string à une liste Python ?
La méthode append
sert à ajouter une string à une liste en Python. On peut aussi utiliser l’opérateur d’addition +
sur une ou plusieurs liste(s) de chaînes de caractères. Une dernière option est d’utiliser les compréhensions de listes.
Exemple avec la méthode append :
ma_liste = []
ma_liste.append('comment')
ma_liste.append('coder')
ma_liste.append('.com')
Exemple avec l’opérateur d’addition :
ma_liste = ['comment'] + ['coder'] + ['.com']
Exemple avec les compréhensions de listes :
ma_liste = [mot for mot in mots]
💡 Vous voulez en apprendre plus sur cette syntaxe pour construire des listes en Python ? Alors mon article Comment utiliser les listes en compréhension ? vous intéressera sûrement !
Comment afficher une liste de strings en Python ?
Pour afficher le contenu d’une liste de strings en Python, on utilise la fonction print()
.
Exemple :
site = ['comment', 'coder', '.com']
print(site) # ['comment', 'coder', '.com']
Pour afficher chaque mot individuellement sur une nouvelle ligne, on peut utiliser une boucle for :
site = ['comment', 'coder', '.com']
for mot in site:
print(mot)
Ce qui donne :
comment
coder
.com
🔁 Vous voulez en apprendre plus sur les boucles for ? Alors mon article sur les boucles for en Python vous intéressera sûrement.
Comment trier une liste de strings en Python ?
On utilise la fonction native sorted
pour facilement trier une liste de strings en Python.
sorted
prend 3 arguments :
- un itérable (ici notre liste de strings)
- une clé
key
(optionnelle) : une fonction de tri - un flag
reverse
(optionnel) : une valeur booléenne (True
ouFalse
) pour inverser le tri de notre liste ou pas
Trier une liste de string en Python alphabétiquement
La manière la plus simple pour trier une liste alphabétiquement est d’utiliser la fonction sorted
avec une liste passée en paramètre.
ma_liste = ['c', 'a', 'b']
sorted(ma_liste)
Ce qui donne :
['a', 'b', 'c']
Trier une liste de string en Python avec reverse
Pour trier une liste de string dans le sens inverse, on utilise le flag reverse
auquel on passe une valeur booléenne “truthy” (comme True
).
ma_liste = ['c', 'a', 'b']
sorted(ma_liste, reverse=True)
Ce qui donne :
['c', 'b', 'a']
Trier une liste de string en Python en fonction de la taille
On peut aussi utiliser une fonction pour trier une liste de strings comme on veut.
Ici on utilise la fonction built-in len
pour trier en fonction de la taille mais on aurait pu créer notre propre fonction python (qui prend 1 seule variable en paramètre).
ma_liste = ['tres_long', 'long', 'petite', 'moyenne']
sorted(ma_liste, key=len)
Ce qui donne :
['long', 'petite', 'moyenne', 'tres_long']
Comment transformer une liste en string en Python ?
Pour convertir une liste en une chaîne de caractères (string), on utilise la méthode string join
sur une chaîne de caractères vide et à laquelle on passe notre liste en paramètre.
Par exemple, on peut combiner une liste de strings en une seule string avec :
liste_site = ['comment', 'coder', '.com']
site = ''.join(liste_site)
print(site)
Ce qui donne :
'commentcoder.com'
On aurait pu utiliser join()
sur n’importe quelle string pour joindre notre liste en mode avec un caractère en particulier.
Par exemple :
'@'.join(['thomas', 'commentcoder.com'])
Donne sur la sortie standard :
'thomas@commentcoder.com'
Comment filter une liste en string en Python ?
Pour filter une liste de strings en Python on utilise la fonction native filter
à laquelle on passe une fonction.
Par exemple, si on veut garder uniquement les mots qui ne contiennent pas de .
, on aurait :
site = ['comment', 'coder', '.com']
def ne_contient_pas_point(s):
return not '.' in s
site_filtre = filter(ne_contient_pas_point, site)
print(list(site_filtre)) # on utilise list() car filter renvoie un objet `filter` pas lisible par les humains
Ce qui donne :
['comment', 'coder']
On peut aussi utiliser un fonction lambda pour rendre le code plus lisible :
site = ['comment', 'coder', '.com']
site_filtre = filter(lambda s: not '.' in s, site)
print(list(site_filtre))
💡 Vous voulez en apprendre plus sur le filtrage ou l’expression lambda en Python ? Je vous recommande la lecture de mon article sur la fonction filter et celui sur les fonctions avec lambda.
Comment convertir une liste de strings en une liste de nombres ?
Pour convertir une liste de string en une liste de nombres en Python, on peut, par exemple, utiliser une compréhension de liste.
strings_de_nombres = ['1', '2', '3', '4', '5']
nombres = [int(nombre) for nombre in strings_de_nombres]
print(nombres)
Ce qui donne :
[1, 2, 3, 4, 5]
Je m'appelle Thomas. J'ai commencé à coder dans mon enfance. Depuis ma sortie de la première promo de l'École 42, j'ai développé des centaines d'applications et sites web. Sur ce blog, je vous donne les meilleurs conseils et astuces pour apprendre comment apprendre à coder efficacement.