Listen Index ermitteln!!

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
search
User
Beiträge: 67
Registriert: Donnerstag 24. April 2008, 10:03
Wohnort: In Deutschland

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:
Benutzeravatar
b.esser-wisser
User
Beiträge: 272
Registriert: Freitag 20. Februar 2009, 14:21
Wohnort: Bundeshauptstadt B.

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
search
User
Beiträge: 67
Registriert: Donnerstag 24. April 2008, 10:03
Wohnort: In Deutschland

Hallo b.esser-wisser,
danke für die schnelle Antwort!!
War genau was ich verzweifelt gesucht habe. :D
BlackJack

@search: Warum stehen die Daten denn *so* in der Liste? Und nicht zum Beispiel so: ``[['Stefan', 42], ['Thomas', 44]]``?
Antworten