Quelle est la meilleure façon d'imprimer des éléments à partir d'une liste de listes? J'ai une liste qui ressemble à ceci:
l1 = [['hello', 'world', 'bye'], ['name', 'tour', 'now']]
Je voudrais imprimer à partir de cela, élément par élément, donc quelque chose comme:
hello name
world tour
bye now
Je pensais utiliser une boucle while, quelque chose comme:
while i < 3:
print(l1[0][i], l1[1][i])
i -= 1
Mais au lieu de fournir les [0] et [1], je préférerais personnellement qu'il soit codé pour un cas général.
3 réponses
for i in range(len(l1[0])):
for j in range(len(l1)):
print(l1[j][i], end='')
if j != len(l1)-1:
print(' ', end='')
print()
Utilisez zip pour fusionner les deux listes ensemble élément par élément: print([' '.join(line) for line in zip(*l1)])
EDIT: pour obtenir la même sortie que celle spécifiée par l'OP:
print('\n'.join(' '.join(line) for line in zip(*l1)))
Je pense que la manière la plus simple serait
for l in zip(*l1):
print ' '.join(l)
Questions connexes
De nouvelles questions
python
Python est un langage de programmation multi-paradigme, typé dynamiquement et polyvalent. Il est conçu pour être rapide à apprendre, comprendre, utiliser et appliquer une syntaxe propre et uniforme. Veuillez noter que Python 2 est officiellement hors support à partir du 01-01-2020. Néanmoins, pour les questions Python spécifiques à la version, ajoutez la balise [python-2.7] ou [python-3.x]. Lorsque vous utilisez une variante Python (par exemple, Jython, PyPy) ou une bibliothèque (par exemple, Pandas et NumPy), veuillez l'inclure dans les balises.