Dictionary durchsuchen

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
Phiene
User
Beiträge: 12
Registriert: Freitag 25. November 2022, 14:07

Hallo Zusammen,

ich habe ein Dictionary mit mehreren values pro key. Ich soll jetzt aus dem ganzen Dictionary die values die den Anfangsbuchstaben "J" haben raus suchen und danach ein neues dictionary anlegen mit den gleichen keys und den values die mit J beginnen. Das ist das ursprungs-Dictionary

Code: Alles auswählen

my_dict ={
    "stud": ["Phil", "Mary", "Jean"],
    "lect": ["Johannes", "Thorben"]
}
Kann mir hier einer helfen?
Phiene
User
Beiträge: 12
Registriert: Freitag 25. November 2022, 14:07

Code: Alles auswählen

def get_key(val):
    for key, value in my_dict.items():
        if val == value:
            return key
    return
das hab ich bisher zum suchen genommen, allerdings bekomm ich die if Bedingung nicht hin
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Mensch, du lebst eine Stunde in der Zukunft, das würde ich ausnutzen.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Das Präfix my_ ist selten sinnvoll. Variablennamen sollten aussagekräftig sein, ohne my_ bleibt dict, was nur den Typ beschreibt, aber nichts, für was die Variable da sein soll. Kryptische Abkürzungen sollte man vermeiden. Warum stud und lect und nicht student und lector?

Alles was eine Funktion braucht, muß sie über ihre Argumente bekommne, in get_key kommt aber my_dict aus dem Nichts. Gib mal in jedem Schleifendurchgang `value` aus, und vergleich das mit dem, was Du erwartest.
Was soll die Funktion get_key machen und wie hilft es Dir, Deine Aufgabe zu lösen?
Benutzeravatar
darktrym
User
Beiträge: 784
Registriert: Freitag 24. April 2009, 09:26

Ist einer dieser trivialen Hausaufgaben Aufgabe, einfach das Wörterbuch klonen und alle Key-Value Paare entfernen bei den der Value nicht mit J beginnt.
„gcc finds bugs in Linux, NetBSD finds bugs in gcc.“[Michael Dexter, Systems 2008]
Bitbucket, Github
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Dann mach dich mal schlau über die Methoden des str-Objekts, sowie Dictionary-Comprehensions. Falls letzteres gerade zu viel ist, dann kann man das neue Dict auch klassisch über eine for-Schleife aufbauen. Das sind absolute Grundlagen und da muss man ran, um Python zu lernen.
Antworten