2016-03-31 3 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) 

Возможно, вы должны сделать существующий список в несколько списков в алфавитном порядке, чтобы сделать поиск короче. Также, если запись не совпадает с латинским словом в словаре, она ничего не найдет.

Смежные вопросы