2016-03-31 13 views
0

私は約4000のラテン語の単語とその英語の意味の辞書を持っています。私は、Pythonの中でそれを開いて、リストに追加して、それは次のようになりました:リスト内の辞書 - 値の見つけ方

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

私は、ユーザーは、彼らが探しているラテン語を入力することができるようにしたいし、プログラムを出力します英語の意味。どのように私はこれを行うにはどのようなアイデア?

答えて

1

リストには入れないでください。メインディクショナリを使用して、すべてのアイテムを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) 

を通じてできましたおそらく、あなたは既存のリストをのように複数のリストをに短縮して検索を短くするべきであろう。 また、エントリが辞書内のラテン語と正確に一致しない場合は、何も見つかりません。

関連する問題