Was ich tun möchte, ist eine berechtigte Spalte aus einem verschachtelten Array zu machen, wie der Titel angibt. Allerdings kann ich einfach nicht herausfinden, wie es funktioniert. Also das das Array ..Python: Spalten von geschachtelten Arrays rechtfertigen
tableData = [['apples', 'oranges', 'cherries', 'banana'],
['Alice', 'Bob', 'Carol', 'David'],
['dogs', 'cats', 'moose', 'goose']]
Dies ist, was ich erreichen will (man beachte die Ausrichtung):
apples Alice dogs
oranges Bob cats
cherries Carol moose
banana David goose
konnte ich Code erstellen, um erfolgreich zu jeder der Unteranordnungen zu rechtfertigen aber Mein Ergebnis ist einfach vertikal. Hauptsächlich, weil ich Code nicht herausgefunden habe, um es in Reihen und Spalten zu machen, so habe ich nur eine lange einzelne Spalte. Mein Ergebnis sieht so aus:
apples
oranges
cherries
banana
Alice
Bob
Carol
...#you get the picture
EDIT: Also meine Frage ist einfach, wie ich es in 3 verschiedenen Spalten brechen würden Sie davon aus nicht wussten bereits die Metadaten des Arrays zB (Anzahl von Sub-Arrays)
Falls Sie meinen Quellcode wollen würde, hier sehen, es ist ...
#function to get the longest word in the sub-array
#to determine justification length
def maxLength(someList):
count = {}
max_num = 0
for item in someList:
count[item] = len(item)
for value in count.values():
if value > max_num:
max_num = value
return(max_num)
#function to store the length of the longest words
#of each sub-array into an array
def maxWidths(tableData):
widths = []
for i in range(len(tableData)):
widths.insert(i,maxLength(tableData[i]))
return(widths)
#function to print table(this is the part that needs work)
def printTable(tableData):
widths = maxWidths(tableData)
for i in range(len(tableData)):
for item in tableData[i]:
print(item.rjust(widths[i]))
ich meinen Code nur enthalten, um zu helfen, aber ich bin sicher, dass sich einige Leute da es in weniger tun können als 10 Linien magisch. Ich würde wirklich gerne diese Art von Antwort sehen (das ist die Art, die ich als die richtige akzeptieren werde), aber bitte erkläre jede seltsame Syntax. Aber wenn Sie nur zu meiner bereits vorhandenen Arbeit hinzufügen möchten, würde das auch für mich großartig und einfacher sein.
Wow ... das ist eine Syntax, mit der ich nicht vertraut bin, aber nehmen wir an, dass Sie die Anzahl der Sub-Arrays oder Datentypen im Array nicht kannten. Wie würdest du damit umgehen? – ITJ
Das wäre eine andere Frage für den gesamten Stack Overflow zu berücksichtigen. –
Wenn Sie sich meinen Quellcode ansehen, werden Sie bemerken, dass ich nie direkt die Metadaten des Arrays verwendet habe. Daher die zahlreichen Funktionen .. – ITJ