Convertir une liste en chaîne séparée par des virgules en Python

Manav Narula 30 janvier 2023
  1. Utilisez la fonction join() pour convertir une liste en une chaîne séparée par des virgules en Python
  2. Utilisez le module StringIO pour convertir une liste en une chaîne séparée par des virgules en Python
Convertir une liste en chaîne séparée par des virgules en Python

Nous pouvons utiliser une liste pour stocker différents éléments sous un nom commun. Une chaîne est un ensemble de caractères.

Nous allons convertir une liste en une chaîne séparée par des virgules dans ce didacticiel.

Utilisez la fonction join() pour convertir une liste en une chaîne séparée par des virgules en Python

La fonction join() combine les éléments d’un itérable et renvoie une chaîne. Nous devons spécifier le caractère qui sera utilisé comme séparateur pour les éléments de la chaîne.

Pour créer une chaîne séparée par des virgules, nous utiliserons la virgule comme séparateur.

Voir le code ci-dessous.

lst = ["c", "e", "a", "q"]
s = ",".join(lst)
print(s)

Production :

c,e,a,q

La méthode ci-dessus est uniquement limitée à une liste contenant des chaînes.

Nous pouvons utiliser la compréhension de liste et la fonction str() pour travailler avec une liste contenant des entiers ou d’autres éléments. Avec la compréhension de liste, nous pouvons parcourir facilement les éléments sur une seule ligne à l’aide de la boucle for, et convertir chaque élément en une chaîne à l’aide de la fonction str().

Nous implémentons cela dans le code suivant.

lst = [8, 9, 4, 1]
s = ",".join([str(i) for i in lst])
print(s)

Production :

8,9,4,1

Nous pouvons également éliminer la compréhension de liste en utilisant la fonction map(). La fonction map() peut être utilisée pour convertir tous les éléments de la liste en une chaîne en appliquant la fonction str() à chaque élément.

Par example,

lst = [8, 9, 4, 1]
s = ",".join(map(str, lst))
print(s)

Production :

8,9,4,1

Utilisez le module StringIO pour convertir une liste en une chaîne séparée par des virgules en Python

L’objet StringIO est similaire à un objet fichier mais en mémoire pour travailler avec des textes. En Python 2, il peut être importé directement à l’aide du module StringIO. En Python 3, il était stocké dans le module io.

Nous pouvons utiliser la fonction csv.writerow() pour écrire la liste sous forme de ligne séparée par des virgules pour un fichier CSV dans l’objet StringIO. Pour cela, nous devons d’abord instancier un objet csv.writer. On peut alors stocker le contenu de cet objet dans une chaîne en utilisant la fonction getvalue().

Voir le code suivant.

import io
import csv

lst = [8, 9, 4, 1]
s_io = io.StringIO()
writer = csv.writer(s_io)
writer.writerow(lst)
s = s_io.getvalue()
print(s)

Production :

8,9,4,1

On peut aussi utiliser la fonction print() avec l’opérateur unpack. L’opérateur de décompactage * décompresse tous les éléments d’un itérable et le stocke dans l’objet StringIO en utilisant le paramètre file de la fonction print().

Voir le code ci-dessous.

import io

lst = [8, 9, 4, 1]
s_io = io.StringIO()
print(*lst, file=s_io, sep=",", end="")
s = s_io.getvalue()
print(s)

Production :

8,9,4,1
Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn

Article connexe - Python List

Article connexe - Python String