2016-03-31 21 views
0

Yaklaşık 4000 Latin kelime ve İngilizce anlamları sözlüğüne sahibim. Ben Python içinde açtı ve bir listeye eklenir ve şuna benzer ettik:Bir listedeki sözlük - değerler nasıl bulunur?

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

ben kullanıcı girişi aradıkları Latince kelime yapabilmek istiyor ve daha sonra program baskılar dışarı ingilizce anlamı. Bunu nasıl yaptığım hakkında bir fikrin var mı?

cevap

1

Bunları bir listeye koymamalısınız. Tüm sözlükleri bir sözlükte tutmak için bir ana sözlük kullanabilir, daha sonra indeksleme yoluyla göreceli anlamlara erişebilirsiniz. Eğer bir iterable nesneden minik sözlükleri alırsanız

aşağıdaki gibi main_dict oluşturabilirsiniz:

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

Iyi verebilecektir öğeler arasında sadece döngüsü ...

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) 

Belki de mevcut listeyi alfabetik olarak aralığına kısaltmak için arama yapmalısınız. Ayrıca, giriş, sözlükteki Latince sözcükle tam olarak eşleşmiyorsa, bir şey bulamaz.