列表中的字典 - 如何查找值

时间:2016-03-31 09:23:09

标签: python-3.x dictionary

我有一本大约4000个拉丁词及其英语含义的字典。我已经在Python中打开它并将其添加到列表中,它看起来像这样:

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

我希望用户能够输入他们正在寻找的拉丁词,然后该程序打印出英语含义。关于我如何做到这一点的任何想法?

2 个答案:

答案 0 :(得分: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!"))

答案 1 :(得分:0)

您可以循环浏览 4000 项目......

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)

也许您应该将现有列表排成按字母顺序排列的多个列表,以缩短搜索范围。 此外,如果条目与字典中的拉丁字不完全匹配,那么它就找不到任何东西。