Versuchen, erstellen Sie eine lookup-Funktion in python
Ich habe ein Wörterbuch mit einer Liste gefüllt mit Tupeln. Jedes Tupel sollte ein paar, z.B. (word, description_of_said_word).
Bisher habe ich dieses:
banana = ("banana", "a yellow fruit")
orange = ("orange", "a orange fruit")
apple = ("apple", "a green fruit")
my_list = [banana, orange, apple]
def lookup():
word = raw_input("Word to lookup: ")
print ("\n")
n = my_list.index(word)
x = my_list[n][0]
y = my_list[n][1]
if word == x:
print x, ":", y, "\n"
else:
print("That word does not exist in the dictionary")
lookup()
Wenn ich Schreibe, in der Bananen bekomme ich einen Fehler sagend, "ValueError: 'Banane' ist nicht in der Liste". Was mache ich falsch?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einen Weg, dies zu tun ist, um eine Schleife durch die Liste von Tupeln und vergleichen Sie die Eingangs-Wort auf das erste Element in jedem Tupel. Wenn es passt, dann drucken und zurück. Wenn Sie es durch die ganze Liste ohne Suche nach einem Spiel, damit der Benutzer weiß, dass Wort gibt es nicht.
"banana"
ist nicht inmy_list
.("banana","a yellow fruit")
ist. Diese sind verschiedene Objekte.Wenn Sie stattdessen
my_dict = dict([banana,orange,apple])
erhalten Sie einen eigentlichen Wörterbuch, in dem"banana"
ist ein Schlüssel und diemy_dict["banana"]
geben Sie"a yellow fruit"
.Lesen Sie hier mehr: https://docs.python.org/2/library/stdtypes.html#mapping-types-dict
my_list
mit einer for-Schleife und finden Sie den index manuell.dict
geben. (Ich nehme eine Vermutung, der Grund, Sie haben eine Liste von 2-Element-Tupel ist, dass deine weiter Schritt werden mit dieser Antwort aber!)