it-swarm.com.de

Liste im Tabellenformat in Python drucken

Ich versuche, mehrere Listen (gleiche Länge) als Spalten einer Tabelle zu drucken.

Ich lese Daten aus einer TXT-Datei, und am Ende des Codes habe ich 5 Listen, die ich als getrennte Spalten aber Leerzeichen drucken möchte.

8
Blaise Delaney

Ich zeige dir ein 3-Listen-Analog:

>>> l1 = ['a', 'b', 'c']
>>> l2 = ['1', '2', '3']
>>> l3 = ['x', 'y', 'z']
>>> for row in Zip(l1, l2, l3):
...     print ' '.join(row)

a 1 x
b 2 y
c 3 z
7
arshajii

Sie können mein Paket beautifultable verwenden. Es unterstützt das Hinzufügen von Daten nach Zeilen oder Spalten oder sogar das Mischen beider Ansätze. Sie können beliebige Zeilen oder Spalten einfügen, entfernen und aktualisieren. 

Verwendungszweck

>>> from beautifultable import BeautifulTable
>>> table = BeautifulTable()
>>> table.column_headers = ["name", "rank", "gender"]
>>> table.append_row(["Jacob", 1, "boy"])
>>> table.append_row(["Isabella", 1, "girl"])
>>> table.append_row(["Ethan", 2, "boy"])
>>> table.append_row(["Sophia", 2, "girl"])
>>> table.append_row(["Michael", 3, "boy"])
>>> print(table)
+----------+------+--------+
|   name   | rank | gender |
+----------+------+--------+
|  Jacob   |  1   |  boy   |
+----------+------+--------+
| Isabella |  1   |  girl  |
+----------+------+--------+
|  Ethan   |  2   |  boy   |
+----------+------+--------+
|  Sophia  |  2   |  girl  |
+----------+------+--------+
| Michael  |  3   |  boy   |
+----------+------+--------+

Habe Spaß

6
Priyam Singh

Angenommen, Sie haben Listen mit Listen:

for L in list_of_lists:
    print " ".join(L)

Die Funktion str.join(iterable) fügt die Komponenten einer durch die angegebene Zeichenfolge iterierbaren Komponente zusammen. 

Daher wird " ".join([1, 2, 3]) "1 2 3".

Falls ich die Frage falsch verstanden hätte und jede list eine Spalte sein soll:

for T in Zip(list1, list2, list3, list4, list5):
    print " ".join(T)

Zip() führt die angegebenen Listen zu einer Liste von Tupeln zusammen:

>>> Zip([1,2,3], [4,5,6], [7,8,9])
[(1, 4, 7), (2, 5, 8), (3, 6, 9)]

Prost!

1
enpenax
for nested_list in big_container_list
    print '\t'.join(nested_list)

wobei \t das Tabellierungszeichen ist

schnelles Beispiel:

In [1]: a = [['1','2'],['3','4']]
In [5]: for nested_list in a:
...:     print '\t'.join(nested_list)
...: 
1       2
3       4
0