2D Liste Zeilen / Spalten

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
B-Baer
User
Beiträge: 23
Registriert: Donnerstag 5. August 2010, 11:56

Hallo,

ich habe folgende Frage:
ich habe eine 2d Liste list2d[][] unbekannter Größe.

Mit len(liste2d) bekomme ich die Anzahl der Zeilen,
wie bekomme ich die Anzahl der Spalten?

Besten Dank
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

Code: Alles auswählen

max([len(i) for i in list2d])
B-Baer
User
Beiträge: 23
Registriert: Donnerstag 5. August 2010, 11:56

super, danke
BlackJack

@B-Baer: Über die Lösung solltest Du noch einmal nachdenken. Ob das wirklich so kompliziert sein muss und was Du machst wenn es das tatsächlich sein muss. Denn dann stimmt das Ergebnis je nach Betrachtungsweise oder halt auch nicht.
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

Hey BlackJack,
dass die Lösung nicht unbedingt die Eleganteste ist, würde ich ja einsehen, aber unter welchen Bedingungen wäre sie denn falsch? Irgendwie komme ich da gerade nicht drauf...
BlackJack

@.robert: Wenn man davon ausgeht, dass man das Ergebnis - 1 immer als Index verwenden kann, fällt man auf die Nase wenn man auf eine "innere" Liste treffen sollte, die kürzer ist. Wenn jemand sagt: "Hier ist eine 2D-Listenstruktur und die hat `n` Spalten", gehe ich davon aus, dass *alle* Zeilen `n` Elemente enthalten. Dann braucht man nicht das Maximum suchen, sondern kann einfach eine einzige Zeile nach der Länge fragen.
.robert
User
Beiträge: 274
Registriert: Mittwoch 25. April 2007, 17:59

Ah, okay.
Wenn die `inneren` Listen unterschiedliche Längen haben, muss man beim Zugriff auf die Elemente eh bei jeder Liste einzeln Prüfen, und wenn die alle gleich lang sind, ist das `max` überflüssig.
Jetzt sehe ich!

Danke für die Aufklärung!
Antworten