2016-03-31 60 views
0

我有一本4000字左右的拉丁字詞及其英文含義的字典。我的Python之內打開了它,並將其添加到列表,它看起來是這樣的:列表中的字典 - 如何查找值

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

我希望用戶能夠輸入他們正在尋找的拉丁詞,然後該程序打印出英文意思。任何想法,我如何做到這一點?

回答

1

你不應該把它們放在一個列表中。您可以使用主詞典來保存一個詞典中的所有項目,然後通過索引訪問相關的含義。

如果你從迭代對象的小字典,你可以像下面創建main_dict:

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

那麼你可以只通過你的項目週期...

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) 

也許你應該按照字母順序將現有的列表變爲多個列表以縮短搜索時間。 此外,如果條目與字典中的拉丁詞不完全匹配,則它不會找到任何內容。

相關問題