Seite 1 von 1

Eine Frage über Dictionary

Verfasst: Sonntag 7. Juni 2020, 21:21
von schahramsigi
Hallo zusammen
hab eine Frage zu dictionary. Wie kann man über den Wert zu Schlüssel kommen? Ist das überhaupt möglich?

Re: Eine Frage über Dictionary

Verfasst: Sonntag 7. Juni 2020, 22:31
von __blackjack__
@schahramsigi: Du kannst Code schreiben der über alle Schlüssel und Werte iteriert und dabei dann die passenden Schlüssel beispielsweise in einer Liste sammelt. Es kann ja auch mehr als einen Schlüssel geben hinter dem ein gleicher Wert abgelegt ist.

Ansonsten gibt es beispielsweise https://pypi.org/project/bidict/ falls man sich so etwas nicht selber implementieren möchte.

Re: Eine Frage über Dictionary

Verfasst: Sonntag 7. Juni 2020, 23:42
von schahramsigi
Danke für die schnelle Antwort.
mein Problem ist: ich kann über Schlüssel iterieren und passende Werte finden. Aber andersrum kann ich über Werte iterieren aber wie komme ich zu Schlüsseln.
Das mit bidict ist sehr gut aber ich möchte lernen wie es geht?

Re: Eine Frage über Dictionary

Verfasst: Montag 8. Juni 2020, 00:52
von __blackjack__
@schahramsigi: Man iteriert nicht über Schlüssel um den Wert zu finden. Dann bräuchte man kein Wörterbuch, das ginge auch mit Listen die Schlüssel/Wert-Paare enthalten.

Wenn Du einen Wert hast und alle Schlüssel dazu brauchst, dann musst Du über die Schlüssel/Wert-Paare iterieren und jedes mal wenn der Wert dem gesuchten entspricht, dann hast Du einen Schlüssel gefunden. Für die Schlüssel/Wert-Paare haben Wörterbücher eine Methode.

Wenn Du die Funktion von einem `bidict` brauchst, dann nimm das, denn das ist im Gegensatz zum iterieren über alle Schlüssel/Wert-Paare effizient implementiert. Und wenn Du lernen willst wie es geht, dann implementiere Dir halt so etwas wie `bidict` selbst. So schwer ist das auch nicht. Man braucht halt zwei Wörterbücher. Eins für jede Richtung.

Re: Eine Frage über Dictionary

Verfasst: Montag 8. Juni 2020, 05:40
von Neu111
schahramsigi hat geschrieben: Sonntag 7. Juni 2020, 21:21 Hallo zusammen
hab eine Frage zu dictionary. Wie kann man über den Wert zu Schlüssel kommen? Ist das überhaupt möglich?
Mittels Schleife und "items" lässt sich dein Vorhaben realisieren:

Code: Alles auswählen

for key, value in meinDictonary.items():
    if value=="gesuchterWert":
	    print(key)

Re: Eine Frage über Dictionary

Verfasst: Montag 8. Juni 2020, 17:25
von schahramsigi
Danke
Hab was dazu gelernt!