/ / Pythonic pour imprimer une liste 2D - Python - python, liste, tableau à plusieurs dimensions

Manière pythonique d’imprimer une liste 2D - Python - python, liste, tableau multidimensionnel

J'ai une liste de personnages en 2D de cette façon:

a = [["1","2","3"],
["4","5","6"],
["7","8","9"]]

Quel est le moyen le plus pythonique d’imprimer la liste sous forme de bloc? Pas de virgules ni de crochets:

123
456
789

Réponses:

7 pour la réponse № 1

Il y a beaucoup de façons. Probablement un str.join d'une cartographie de str.joins:

>>> a = [["1","2","3"],
...          ["4","5","6"],
...          ["7","8","9"]]
>>> print("n".join(map("".join, a)))
123
456
789
>>>

0 pour la réponse № 2

Comme ça:

import os

array = [["1","2","3"],
["4","5","6"],
["7","8","9"]]
print(os.linesep.join(map("".join, array)))

0 pour la réponse № 3

Si vous cherchez Pythonique alors vous avez sûrement besoin d'une compréhension du générateur:

print("n".join("".join(i) for i in array))

0 pour la réponse № 4

La meilleure façon à mon avis serait d’utiliser print une fonction. Avec print fonction, vous n’avez besoin d'aucun type de jointure et de conversion (si tous les objets ne sont pas des chaînes).

>>> a = [["1","2","3"],
...      ["4", 5, 6],   # Contains integers as well.
...      ["7","8","9"]]
...

>>> for x in a:
...     print(*x, sep="")
...
...
123
456
789

Si vous êtes sur Python 2, alors la fonction d’impression peut être importée en utilisant from __future__ import print_function.