Problem Wert aus 2D-Array über Index holen

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
jung.step
User
Beiträge: 2
Registriert: Donnerstag 2. November 2017, 20:16

Hallo,

ich habe ein Problem in Python 2.7:

Code: Alles auswählen

a = [[1, 2, [100,200 ,300], 3, 4],[11,22,[500,600,700],33,44]]
j = 1
Warum geht das hier:

Code: Alles auswählen

print(a[j][0])
--> Wert "11" wird ausgegeben

und das nicht:

Code: Alles auswählen

a.index(a[j][0])
--> Fehlermeldung "ValueError: 11 is not in list"

Warum kann ich mir den Wert nicht über den Index holen? Was mache ich falsch?


Danke im Voraus
Stephan
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@jung.step: wer solche Konstrukte (`[[1, 2, [100,200 ,300], 3, 4],[11,22,[500,600,700],33,44]]`) schreibt, hat Listen nicht verstanden. Leider tauchen solche Dinger in Tutorials immer wieder auf.
Die Probleme fangen an, wenn man denkt `a[j][0]` sei irgendetwas mystisches.
`a` ist eine Liste mit zwei Elementen, wobei jedes Element wiederum eine Liste ist, also ist `a[j]` auch nur eine Liste, mit der man per Index auf die Elemente zugreifen kann. `a.index` vergleicht jedes Element der Liste `a` mit dem übergebenen Wert, und weder das erste Element ist gleich 11 noch das zweite. Daher der Fehler.
jung.step
User
Beiträge: 2
Registriert: Donnerstag 2. November 2017, 20:16

Danke, das hat mir erstmal geholfen...
Antworten