2016-03-31 10 views
0

Ich habe ein Wörterbuch von ungefähr 4000 lateinischen Wörtern und ihrer englischen Bedeutungen. Ich habe es in Python geöffnet und hinzugefügt, um es auf eine Liste und es sieht etwa so aus:Wörterbuch innerhalb einer Liste - wie man Werte findet

[{"rex":"king"},{"ego":"I"},{"a, ab":"away from"}...] 

Ich mag der Benutzer zur Eingabe der Lage sein, das lateinische Wort für sie suchen und dann aus dem Programm druckt die englische Bedeutung. Irgendwelche Ideen, wie ich das mache?

Antwort

1

Sie sollten sie nicht in eine Liste aufnehmen. Sie können ein Hauptwörterbuch verwenden, um alle Elemente in einem Wörterbuch zu speichern, und dann einfach durch Indexierung auf die relativen Bedeutungen zugreifen.

Wenn Sie die winzigen Wörterbücher von einem iterable Objekt zu erhalten können Sie Ihre main_dict erstellen wie folgt:

main_dict = {} 

for dictionary in iterable_of_dict: 
    main_dict.update(dictionary) 

word = None 
while word != "exit" 
    word = input("Please enter your word (exit for exit): ") 
    print(main_dict.get(word, "Sorry your word doesn't exist in dictionary!")) 
0

Nun konnte man nur durchlaufen Ihre Artikel ...

listr = [{"rex":"king"},{"ego":"I"},{"a, ab":"away from"}] 
out = "no match found" 
get = input("input please ") 
for c in range(0,len(listr)): 
    try: 
     out = listr[c][get] 
     break 
    except: 
     pass 
print(out) 

Vielleicht sollten Sie die bestehende Liste in mehrere Listen alphabetisch bestellen, um die Suche kürzer zu machen. Auch wenn der Eintrag nicht genau mit dem lateinischen Wort im Wörterbuch übereinstimmt, wird es nichts finden.

Verwandte Themen