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.
nachac
User
Beiträge: 7 Registriert: Dienstag 4. Mai 2010, 12:07
Dienstag 4. Mai 2010, 12:28
Hallo zusammen,
ich bin ein Python-Neuling und benutze das Dictionary. Jetzt stehe ich vor einem Problem: Wie kann ich die einzelnen Schlüssel auslesen lassen?
Hier ein Beispiel:
Code: Alles auswählen
list = {
"Movies" : list_movies,
"Music" : list_music,
}
for i in range (len(list.keys())):
#ausgabe der schlüssel
Also es soll nachher:
Movies
Music
stehen.
Quasi wie bei einem Array: print array
Danke für eure Hilfe!
SpiritCrusher
User
Beiträge: 13 Registriert: Montag 11. Januar 2010, 13:59
Wohnort: Köln
Kontaktdaten:
Dienstag 4. Mai 2010, 12:36
Du gehst da vollkommen falsch ran.
Schau dir mal folgenden Link an:
http://docs.python.org/release/2.5.2/tu ... 0000000000
Folgendens funktioniert z.b. auch:
Code: Alles auswählen
In [1]: foo = {'movies':'list_movies', 'music':'list_music'}
In [2]: for key in foo.keys():
...: print foo[key]
...:
...:
list_movies
list_music
Edit: Sorry grad gelesen, dass du die Schlüssel haben möchtest...
Code: Alles auswählen
In [1]: foo = {'movies':'list_movies', 'music':'list_music'}
In [2]: for key in foo.keys():
...: print key
...:
...:
movies
music
nachac
User
Beiträge: 7 Registriert: Dienstag 4. Mai 2010, 12:07
Dienstag 4. Mai 2010, 12:57
Hm, so gibt er mir aber die Schlüssel und Werte der untergeordnenten Listen (list_movies, list_music) aus.
ms4py
User
Beiträge: 1178 Registriert: Montag 19. Januar 2009, 09:37
Dienstag 4. Mai 2010, 13:04
nachac hat geschrieben: Quasi wie bei einem Array: print array
Danke für eure Hilfe!
Du solltest dich dringend mit den Python-Grundlagen auseinander setzen. In Python verwendet man normalerweise Listen und man greift nicht über den Index auf die Elemente zu.
Code: Alles auswählen
>>> my_list = [1, 2, 3]
>>> for item in my_list:
... print item
...
1
2
3
Äquivalent funktioniert das mit den Dictionary-Keys:
Code: Alles auswählen
>>> foo = {'movies':'list_movies', 'music':'list_music'}
>>> for key in foo:
... print key
...
movies
music
„Lieber von den Richtigen kritisiert als von den Falschen gelobt werden.“
Gerhard Kocher
http://ms4py.org/
nachac
User
Beiträge: 7 Registriert: Dienstag 4. Mai 2010, 12:07
Dienstag 4. Mai 2010, 13:22
OK, vielen Dank euch beiden!
Ja, muss mich wohl noch etwas mehr in Python reindenken. Aber das wird schon
jbs
User
Beiträge: 953 Registriert: Mittwoch 24. Juni 2009, 13:13
Wohnort: Postdam
Dienstag 4. Mai 2010, 18:09
@SpiritCrusher: Kennst du items bzw. iteritems?
[url=http://wiki.python-forum.de/PEP%208%20%28%C3%9Cbersetzung%29]PEP 8[/url] - Quak!
[url=http://tutorial.pocoo.org/index.html]Tutorial in Deutsch[/url]
SpiritCrusher
User
Beiträge: 13 Registriert: Montag 11. Januar 2010, 13:59
Wohnort: Köln
Kontaktdaten:
Dienstag 4. Mai 2010, 19:26
Klar kenn ich die items bzw. iteritems methoden, aber das hat doch noch ne Ecke weniger mit dem zu tun, was der OP wissen wollte, oder?
Hyperion
Moderator
Beiträge: 7478 Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:
Dienstag 4. Mai 2010, 19:36
SpiritCrusher hat geschrieben: Klar kenn ich die items bzw. iteritems methoden, aber das hat doch noch ne Ecke weniger mit dem zu tun, was der OP wissen wollte, oder?
Weil Dein erstes Beispiel sonderbar wirkt. Allerdings würde es dort eher {}.values() tun...