HOWTO · Python

Imprimer la liste sans crochets en Python

Ce tutoriel montre comment imprimer une liste sans crochets en Python

Sur cette page

Pour afficher une liste de Python sans ses crochets, affichez ses éléments par décompactage, joignez les éléments chaîne avec un séparateur ou formatez chaque élément dans une boucle. Choisissez print() si vous avez seulement besoin d’afficher le résultat ; utilisez join() si vous avez besoin d’une nouvelle chaîne à stocker ou à transmettre. Les exemples ci-dessous montrent le résultat exact de chaque approche.

Exécutez cet exemple. Le code et les libellés ou sorties affichés dans les exemples restent en anglais.

items = ["x", "y", "z"]
print(*items, sep=",")
x,y,z

Utiliser join() pour une liste de chaînes

Appelez join() sur la chaîne séparatrice. Elle renvoie une chaîne unique en plaçant ce séparateur entre les chaînes d’entrée. Cette méthode est utile lorsque vous devez affecter le résultat formaté à une variable, le combiner à d’autres textes ou l’écrire ultérieurement.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

items = ["red", "green", "blue"]
result = ", ".join(items)
print(result)
red, green, blue

Chaque élément doit déjà être une chaîne. Si la liste contient un entier ou une autre valeur qui n’est pas une chaîne, join() déclenche une TypeError ; convertissez d’abord les éléments, comme indiqué ci-dessous. Une liste vide produit une chaîne vide, et le résultat d’une liste à un seul élément ne contient aucun séparateur.

Utiliser le décompactage avec print() pour des valeurs de types différents

L’opérateur * décompacte un itérable en arguments positionnels distincts. print() accepte des valeurs de types différents et convertit chacune en texte pour l’affichage. Son paramètre sep détermine le texte inséré entre les arguments ; par défaut, il s’agit d’une espace.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

values = [1, "two", 3.0, True]
print(*values, sep=" | ")
1 | two | 3.0 | True

Cette approche écrit directement sur la sortie standard et ne crée pas de chaîne jointe réutilisable. Pour une liste vide, le décompactage ne fournit aucune valeur : print() écrit donc uniquement son retour à la ligne final. Utilisez sep="" pour afficher les valeurs côte à côte, ou gardez le séparateur par défaut si les espaces conviennent.

Convertir les valeurs en chaînes avant de les joindre

Pour obtenir une chaîne à partir de valeurs telles que des nombres, convertissez explicitement chaque élément avec map(str, values) ou une compréhension. Vous gardez ainsi le contrôle sur le choix du séparateur. La conversion utilise la forme str() de chaque valeur, destinée à produire un texte lisible, mais qui peut ne pas préserver les informations de type.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

numbers = [1, 2, 3]
result = ",".join(map(str, numbers))
print(result)
1,2,3

Une compréhension est utile si vous devez aussi transformer ou filtrer des valeurs : ", ".join(str(value) for value in numbers). Aucune de ces approches ne modifie la liste d’origine ; chacune crée des chaînes pour le résultat à afficher.

Utiliser le découpage de str() pour un affichage rapide

Appliquée à une liste, str() produit sa représentation de Python, crochets extérieurs compris. Pour un affichage rapide, [1:-1] retire le premier et le dernier caractère de cette représentation :

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

items = [1, 2, 3]
print(str(items)[1:-1])
1, 2, 3

Cette méthode conserve les détails de la représentation, notamment les guillemets autour des éléments chaîne et les crochets imbriqués des listes imbriquées. Elle est pratique pour une inspection simple, mais ne constitue ni un formateur général ni un format de sérialisation. Si vous avez besoin d’un séparateur choisi et d’un format prévisible pour les éléments, préférez joindre des valeurs converties.

Afficher chaque élément dans une boucle pour le formater individuellement

Utilisez une boucle lorsque chaque élément nécessite un format personnalisé ou que vous voulez contrôler ce qui suit chaque élément. Normalement, print() termine chaque appel par un retour à la ligne ; le paramètre end permet de modifier cette terminaison. Lorsque vous affichez les éléments un par un, incluez le séparateur dans end.

Le code et les libellés ou sorties affichés dans cette section restent en anglais.

items = [1, 2, 3]
for index, item in enumerate(items):
    if index:
        print(" ", end="")
    print(item, end="")
print()
1 2 3

La boucle n’écrit le séparateur qu’entre les éléments, puis le dernier appel à print() ajoute un retour à la ligne final. Cela évite une espace superflue à la fin et produit exactement la ligne souhaitée. Une boucle écrit progressivement sur la sortie standard : choisissez le décompactage ou la jointure si vous avez besoin d’une seule opération ou d’une chaîne réutilisable. Pour appliquer un autre format à chaque élément, construisez le texte dans la boucle ou transmettez une valeur formatée à print().