Seite 1 von 1

Problem Wert aus 2D-Array über Index holen

Verfasst: Donnerstag 2. November 2017, 20:28
von jung.step
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

Re: Problem Wert aus 2D-Array über Index holen

Verfasst: Donnerstag 2. November 2017, 20:50
von Sirius3
@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.

Re: Problem Wert aus 2D-Array über Index holen

Verfasst: Donnerstag 2. November 2017, 21:18
von jung.step
Danke, das hat mir erstmal geholfen...