Seite 1 von 1

Listen Index ermitteln!!

Verfasst: Dienstag 24. März 2009, 14:08
von search
Hallo zusammen,
irgendwie stehe ich gerade so richtig auf dem Schlauch. Ich versuche Datensätze aus einer Liste auszulesen, aber ich schaffe es einfach nicht. Hab hier schon im Forum gesucht aber nichts gefunden, vielleicht kann mir ja einer von euch weiterhelfen...

Code: Alles auswählen

#Beispiel-Liste
daten_user=[['Stefan', 'Thomas'], [42, 44]]
Ich habe nun eine Eingabe mit nur dem Namen des Users (z.B. >Stefan), will aber das mir dann der ganze Datensatz (in diesem Fall >Stefan, 42) angezeigt wird. Oder habe ich das komplett falsch angefangen? Vielleicht doch eher ein Dictionarie???

Danke für eure Hilfe!
Gruß
Stefan :lol:

Verfasst: Dienstag 24. März 2009, 14:20
von b.esser-wisser

Code: Alles auswählen

In [2]: daten_user=[['Stefan', 'Thomas'], [42, 44]]

In [3]: daten_user[1][daten_user[0].index("Stefan")]
Out[3]: 42

In [11]: user_dict = dict(zip(*daten_user))

In [12]: user_dict
Out[12]: {'Stefan': 42, 'Thomas': 44}

In [13]: user_dict['Stefan']
Out[13]: 42
Die Version mit dem dict funktioniert nur wenn die Namen eindeutig sind, die Version mit dem .index() hat eine quadratische Laufzeit (und ist quasi unlesbar).

hth, Jörg

Verfasst: Dienstag 24. März 2009, 14:27
von search
Hallo b.esser-wisser,
danke für die schnelle Antwort!!
War genau was ich verzweifelt gesucht habe. :D

Verfasst: Dienstag 24. März 2009, 18:17
von BlackJack
@search: Warum stehen die Daten denn *so* in der Liste? Und nicht zum Beispiel so: ``[['Stefan', 42], ['Thomas', 44]]``?