Zugriff auf Elemente in Listen in python dictionary
Ich habe ein Wörterbuch, das hat Tasten im Zusammenhang mit Listen.
mydict = {'fruits': ['banana', 'apple', 'orange'],
'vegetables': ['pepper', 'carrot'],
'cheese': ['swiss', 'cheddar', 'brie']}
Was ich will zu tun ist, verwenden Sie eine if-Anweisung, wenn ich die Suchfunktion für Artikel und in keiner der Listen der im Wörterbuch wird es den Schlüssel zurück. Dies ist, was ich versucht habe:
item = cheddar
if item in mydict.values():
print key
aber es tut nichts, die Ausgabe sollte sein:
cheese
Dies scheint wie eine einfache Sache, aber ich nur kann ' T es herausfinden. Jede Hilfe ist genial.
InformationsquelleAutor Binnie | 2012-06-15
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie eine
for
eine einfacheif
ist nicht genug, um zu überprüfen, die eine unbekannte Gruppe von Listen:Einen Ansatz ohne explizite
for
- Anweisung möglich wäre, wie diese:gibt alle Schlüssel, die im Zusammenhang mit
item
. Aber intern gibt es noch eine Art der iteration geht.temp_array
innerhalb der for-Schleife, für meine eigenen Berechnungen? Lassen Sie uns sagen, dass ich, um etwas zu prüfen in Bezug auf die Werte der Liste. In meinem Fall, die Listen enthalten ganze zahlen nur.mydict[key]
in jeder iteration, wie in der ersten snippet; oder Sie konnte etwas tun, wiemap(mydict.values(), own_calculations)
.dies funktioniert, aber Sie haben, verweisen Sie die Schlüssel im Wörterbuch wie Käse, Gemüse etc statt, weil die Art und Weise, die Sie aus dem Wörterbuch, ich hoffe, das hilft!
Wenn du gehst zu tun eine Menge von dieser Art von suchen, ich denke, Sie können erstellen Sie eine reverse-index-für das original
mydict
zu beschleunigen Abfrage:Diese Weise müssen Sie nicht haben, um die traverse
values
Liste jedes mal, wenn ein Element zu finden.