Hallo zusammen
hab eine Frage zu dictionary. Wie kann man über den Wert zu Schlüssel kommen? Ist das überhaupt möglich?
Eine Frage über Dictionary
- __blackjack__
- User
- Beiträge: 13199
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@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.
Ansonsten gibt es beispielsweise https://pypi.org/project/bidict/ falls man sich so etwas nicht selber implementieren möchte.
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
-
- User
- Beiträge: 13
- Registriert: Sonntag 7. Juni 2020, 20:18
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?
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?
- __blackjack__
- User
- Beiträge: 13199
- Registriert: Samstag 2. Juni 2018, 10:21
- Wohnort: 127.0.0.1
- Kontaktdaten:
@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.
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.
“There will always be things we wish to say in our programs that in all known languages can only be said poorly.” — Alan J. Perlis
Mittels Schleife und "items" lässt sich dein Vorhaben realisieren: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?
Code: Alles auswählen
for key, value in meinDictonary.items():
if value=="gesuchterWert":
print(key)
-
- User
- Beiträge: 13
- Registriert: Sonntag 7. Juni 2020, 20:18
Danke
Hab was dazu gelernt!
Hab was dazu gelernt!