Seite 1 von 1

Probleme mit Dict

Verfasst: Samstag 18. Januar 2014, 15:55
von Hartmannsgruber
Servus liebes Forum,

ich habe mal wieder eine wohl ziemlich einfache Frage, aber ich weis leider nicht weiter :(

Also:
Ich habe ein Dict (dict_1), dieses Dict benutzt als Schlüssel, Zahlen.
Der dazugehörige Wert ist wieder ein Dict.
Das Dict das hier als Wert dient, hat als Schlüssel, Name und Alter.
so weit erst mal.

Code: Alles auswählen

dict_1 = {0 : {"Name" : "Anton", "Alter" : 20}, 
          1 : {"Name" : "Berta", "Alter" : 19}}
Ich möchte nun alle Schlüssel ausgeben die im Wert von 0 enthalten sind.
Ich probierte es so:

Code: Alles auswählen

inf = dict_1[0].key()
print (inf)
Wo ist mein Denkfehler? Ich sitze mittlerweile schon 5 std davor und komm nicht weiter :(
Bitte erklären "wie und "warum", Danke :D

Re: Probleme mit Dict

Verfasst: Samstag 18. Januar 2014, 16:20
von EyDu
Es heißt "keys" und nicht "key". Bei deiner nächsten Frage wäre es auch sehr hilfreichen wenn du sagst, *was* nicht funktioniert und was du als Ergebnis erwartest. Dazu dann noch die komplette Fehlermeldung (falls es eine gibt), inklusive Traceback.

Re: Probleme mit Dict

Verfasst: Samstag 18. Januar 2014, 16:30
von Hyperion
Wieso heißt das Ding so komisch? ``dict_1`` ist wirklich ein sehr schlechter Name, denn

- erstens sollte man *niemals* Variablen durchnummerieren; das ist fast immer ein Indiz. dass man gleichartige Objekte in eine Datenstruktur zusammen fassen sollte.

- zweitens sollte man keine Typinformationen in einem Namen packen. Wähle Namen stets so, dass Du sofort weißt, was sich dahinter verbirgt. In diesem Falle hast Du es wohl offenbar mit Personen zu tun. Wieso also nicht schlicht ``personen``? Zudem ist so ein Typ schlecht, da sich der Typ des Objektes auch mal ändern kann - vergisst Du den Namen anzupassen, lügt dieser ab sofort.

In diesem Falle könnte es sinnvoll sein, das äußere Dictionary durch eine Liste zu ersetzen, sofern der Schlüssel fortlaufend und wirklich numerisch ist. Denn dann kann man auch einfach per Index auf die Elemente (also die inneren Dictionaries) zugreifen.

(Und wenn man das so ändert, passt wie oben erwähnt der Name nicht mehr ;-) )

Re: Probleme mit Dict

Verfasst: Samstag 18. Januar 2014, 16:46
von Hartmannsgruber
Okay, der Fehler war wohl jetzt echt peinlich und das mit der besseren Beschreibung merk ich mir... :oops:
Solls mir diesmal als Neulig aber noch verziehen sein.

der Name dict_1 sollte hier nur zur besseren veranschaulichung dienen. Bei mir heist das dict tatsächlich personen.^^

Vielen Dank für euere Hilfe, ist ein tolles Forum hier :-D

Re: Probleme mit Dict

Verfasst: Samstag 18. Januar 2014, 17:37
von Hyperion
Hartmannsgruber hat geschrieben: der Name dict_1 sollte hier nur zur besseren veranschaulichung dienen. Bei mir heist das dict tatsächlich personen.^^
Wie kann ein Name für Dich gut, aber für uns schlecht sein? ;-)

Re: Probleme mit Dict

Verfasst: Samstag 18. Januar 2014, 19:20
von cofi
@Hyperion: Datenschutz. Am Ende denken wir noch Anton und Berta waeren Personen :mrgreen:

Re: Probleme mit Dict

Verfasst: Samstag 18. Januar 2014, 19:35
von Hyperion
Ach ich Depp... :mrgreen: