/ / Pythonic spôsob tlače 2D zoznamu - Python - python, zoznam, multidimenzionálne pole

Pythonic spôsob tlače zoznamu 2D - Python - python, zoznam, multidimenzionálny-pole

Takto mám 2D zoznam znakov:

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

Čo je to najviac pythonic spôsob, ako vytlačiť zoznam ako celý blok?

123
456
789

odpovede:

7 pre odpoveď č. 1

Existuje mnoho spôsobov. Pravdepodobne a str.join mapovania str.joins:

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

0 pre odpoveď č. 2

Ako toto:

import os

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

0 pre odpoveď č. 3

Ak hľadáte Pythonic potom určite potrebujete pochopenie generátora:

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

0 pre odpoveď č. 4

Najlepší spôsob podľa môjho názoru by bolo použiť print Funkcie. s print Funkcia, ktorú ste vyhrali, nevyžaduje žiadny typ spojenia a konverzie (ak všetky objekty nie sú reťazce).

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

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

Ak sa nachádzate v Pythone 2, tlačová funkcia sa môže importovať pomocou from __future__ import print_function.