Python >> Tutoriel Python >  >> Python

Liste d'une ligne d'impression Python

Formulation du problème

Soit une liste telle qu'une liste d'entiers. Comment imprimer les éléments de la liste sur une seule ligne ?

Input:
[1, 2, 3, 4, 5]

Output:
1 2 3 4 5

Méthode 1 :Imprimer une liste de lignes avec astérisque

Pour imprimer toute la liste des éléments sur une seule ligne, décompressez la liste dans le print() intégré fonction. En particulier, vous utilisez l'opérateur astérisque comme préfixe devant la liste pour décompresser tous les éléments dans la liste d'arguments du print() fonction. Par exemple, pour imprimer la liste [1, 2, 3] en une ligne, utilisez print(*[1, 2, 3]) .

Voici un exemple sur une liste d'entiers :

>>> print(*[1, 2, 3, 4, 5])
1 2 3 4 5

Voici un autre exemple avec des types de données mixtes :

>>> print(*['alice', 'bob', 'carl', 42])
alice bob carl 42

Vous pouvez regarder ma vidéo explicative sur l'opérateur astérisque ici :

Méthode 2 :Imprimer un séparateur de liste sur une ligne

Supposons que vous souhaitiez imprimer une liste d'éléments sur une ligne en utilisant un séparateur spécifique entre les éléments.

Pour ce faire, décompressez la liste dans le print() intégré fonction en utilisant l'opérateur astérisque comme préfixe devant la liste. Cela décompresse tous les éléments dans la liste d'arguments du print() fonction. Maintenant, ajoutez l'argument séparateur souhaité, par exemple, sep='\t' pour utiliser le caractère tabulaire comme séparateur. Par exemple, pour imprimer la liste [1, 2, 3] sur une ligne, séparés par des tabulations, utilisez print(*[1, 2, 3], sep='\t') .

Voici un exemple sur une liste d'entiers :

>>> print(*[1, 2, 3, 4, 5], sep='\t')
1	2	3	4	5

Pour en savoir plus sur l'argument séparateur, consultez mon tutoriel détaillé ici :

Méthode 3 :boucle for simple avec l'argument de fin de la fonction d'impression

Pour imprimer une liste et l'afficher sur une seule ligne, une solution simple consiste à parcourir chaque élément dans une boucle for et à imprimer cet élément sur la même ligne en utilisant le print() fonction avec le end=' ' argument défini sur l'espace vide. Cela empêche le print() fonction pour imprimer automatiquement chaque élément sur une nouvelle ligne.

Voici comment procéder pour une liste de type mixte :

>>> lst = [1, 2, 3, 4, 5, 'alice', 'bob']
>>> for x in lst:
	print(x, end= ' ')

	
1 2 3 4 5 alice bob 

Vous pouvez également utiliser un autre end argument tel que le caractère tabulaire '\t' ainsi:

>>> lst = [1, 2, 3, 4, 5, 'alice', 'bob']
>>> for x in lst:
	print(x, end= '\t')

	
1	2	3	4	5	alice	bob

Méthode 4 :str.join() sur la liste des chaînes

Le ' '.join(list) La méthode concatène tous les éléments d'une liste de chaînes donnée en utilisant l'espace vide (sur lequel la méthode est appelée) comme argument de séparation.

Voici comment cela fonctionne pour imprimer une liste de chaînes sur une seule ligne en créant d'abord une chaîne d'une ligne à l'aide de la méthode join, puis en imprimant cette chaîne sur le shell :

>>> ' '.join(['the', 'answer', 'is', '42'])
'the answer is 42'

Vous pouvez maîtriser le join() méthode et d'autres méthodes de chaîne ici :

Méthode 5 :str.join() et compréhension de la liste sur la liste générale

Le ' '.join(list) La méthode concatène tous les éléments d'une liste de chaînes donnée en utilisant l'espace vide (sur lequel la méthode est appelée) comme argument de séparation. Pour convertir d'abord chaque élément de la liste en une valeur de chaîne, utilisez l'instruction de compréhension de liste [str(x) for x in list] . Vous pouvez combiner les deux en ' '.join([str(x) for x in list]) pour imprimer tous les éléments d'une liste générale sur la sortie standard en une seule ligne.

Voici comment cela fonctionne :

>>> ' '.join(str(x) for x in lst)
'42 python 3.3 (1, 2)'

Vous pouvez maîtriser les expressions du générateur ici et lister la compréhension ici :