Imprimer une liste verticalement en Python #
Pour imprimer une liste verticalement :
- Utilisez un
for
boucle pour itérer sur la liste. - Utilisez un littéral de chaîne formatée pour formater chaque ligne.
- Utilisez l’option
print()
pour imprimer le résultat.
headers = [
'ID',
'Name',
'Country'
]
employees = [
[1, 'alice', 'Austria'],
[2, 'Leo Allard', 'Bulgaria'],
[3, 'carl', 'Canada'],
]
print(f'{headers[0]: <10}{headers[1]: <15}{headers[2]}')
for row in employees:
print(f'{row[0]: <10}{row[1]: <15}{row[2]}')
L’exemple de code imprime une liste de listes verticalement. Si vous avez besoin d’imprimer une liste unidimensionnelle verticalement, passez à l’exemple suivant.
La liste d’en-têtes est facultative et est imprimée juste avant les éléments de la liste
employees
liste.
Nous avons utilisé un littéral de chaîne formatée pour formater chaque ligne.
Les chaînes littérales formatées nous permettent également d’utiliser le mini-langage spécifique au format
mini-langage spécifique au format
spécifique au format dans les blocs d’expression.
my_str = 'hi'
result = f'{my_str: <6}'
print(repr(result))
result = f'{my_str: >6}'
print(repr(result))
L’espace entre les deux points et le signe moins que est le caractère de remplissage.
Le signe inférieur ou supérieur est l’alignement.
Le signe moins que aligne la chaîne à gauche et le signe plus grand que aligne la chaîne à droite.
Si vous ne souhaitez pas formater chaque ligne, utilisez l’opérateur de décompression des itérables dans l’appel à la méthode
pour print()
.
employees = [
[1, 'alice', 'Austria'],
[2, 'Leo Allard', 'Bulgaria'],
[3, 'carl', 'Canada'],
]
for row in employees:
print(*row)
Le * opérateur de déballage d’itérable
permet de décompresser un itérable dans les appels de fonction, dans les compréhensions et dans les expressions de générateur.
expressions de générateur.
Si vous devez imprimer une liste unidimensionnelle verticalement, avec chaque élément sur une
ligne séparée, utilisez une simple for
boucle.
headers = ['ID', 'Name', 'Country']
for item in headers:
print(item)
Vous pouvez utiliser le zip()
si vous avez besoin d’imprimer une liste unidimensionnelle
verticalement, avec mise en forme.
headers = ['ID', 'Name', 'Country']
my_list = [1, 'alice', 'Austria', 2,
'Leo Allard', 'Bulgaria', 3, 'carl', 'Canada']
columns = 3
print(f'{headers[0]: <10}{headers[1]: <15}{headers[2]}')
for first, second, third in zip(my_list[::columns], my_list[1::columns], my_list[2::columns]):
print(f'{first: <10}{second: <15}{third}')
L’impression des en-têtes est facultative.
La fonction zip
itère sur plusieurs tables itératives en parallèle et produit des tuples contenant un élément
de chaque itérable.
Le site zip
renvoie un itérateur de tuples.
headers = ['ID', 'Name', 'Country']
my_list = [1, 'alice', 'Austria', 2,
'Leo Allard', 'Bulgaria', 3, 'carl', 'Canada']
columns = 3
print(list(zip(my_list[::columns], my_list[1::columns], my_list[2::columns])))
Nous avons utilisé le découpage en listes dans l’appel à la fonction zip()
avec tous les 3 éléments
de la liste, en commençant par l’indice 0, puis par l’indice 1
etc.