Drucken von Listen in eine Liste, in Spalten
Habe ich eine Liste mit Listen, und ich möchte, um es zu drucken in Spalten w/o weitere Module zu importieren (d.h. pprint
). Die Aufgabe ist nur für mich zu verstehen, iteration über Listen. Dies ist meine Liste der Listen:
tableData = [['a', 'b', 'c', 'd'],
['1', '2', '3', '4'],
['one', 'two', 'three', 'four']]
Und ich möchte es wie folgt Aussehen:
a 1 one
b 2 two
c 3 three
d 4 four
Konnte ich etwas hart-code die erste Zeile, aber ich kann nicht herausfinden, wie man Modell der iteration. Siehe:
def printTable(table):
print(table[0][0].rjust(4," ") + table[1][0].rjust(4," ") + table[2][0].rjust(4," "))
InformationsquelleAutor John Zombie | 2016-02-23
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie
zip()
etwa so:Können Sie verbessern offenbar die Formatierung (wie @Holt hast sehr gut), aber dies ist die grundlegende Art und Weise 🙂
Können Sie
zip
zur Umsetzung Ihrer Tabelle und verwenden Sie dann eine formatierten string zur Ausgabe der Zeilen:Wollen Sie zur Umsetzung dieser. Dies ist besonders einfach in python. Danach müssen Sie nur kümmern uns um Ihre eigenen Druck-format.
transposed_tabe = zip(*tableData )
wenn Sie eine Liste my_list ein = [('Mathe', 80), ('Physik',90), ('Biologie', 50)] dann können wir sagen, das ist 3X2-matrix. Das transponieren von es-2X3-matrix.
transposed_tabe = zip(*my_list )
wird folgende Ausgabe
[('Mathematik', 'Physik', 'Biologie'), (80, 90, 50)]
Wenn Sie immer noch wollen, veränderliche Zeichenfolgen, drucken Sie einfach eine Zeile zu einem Zeitpunkt:
Auf diese Weise können Sie die Verwendung des klassischen string-Methoden ljust() rjust() und center() zum formatieren der Spalten.