将单个元素匹配到元素字典 key/value 对,其中值是列表本身

Matching a single element to an element dictionary key/value pair where the values are lists themselves

我制作了一本字典,其中的键是英文字母表中的小写字母,每个键的对应值是以该字母开头的单词列表。列表包含大写和小写的单词。

例如:myDict= {'a':['Apple','all','always','allow','Adam'。 ...], 'b': ['base','Bill','ball',....],...

然后我从一个单独的文本文件中读取并检查文本文件中的每个单词是否存在于我的字典中,然后如果不存在则将该单词存储到另一个列表中。

我现在正在做的是检查我正在比较的单词的第一个字母(小写)是否是我字典中的关键字。然后我想检查该键的值列表中的整个单词。

我知道我可以检查字典中的所有值,但我真的不明白如果我检查字典中的所有值是否有那个词,那么拥有字典的意义何在。

我想知道的是best/most处​​理此类案件的有效方式是什么?

我是 python 的新手,如果我完全遗漏了什么,请原谅。我觉得使用字典并检查所有值与使用列表没有什么不同?

一般来说,post您的实际代码是一种很好的做法,而不是对您的代码的描述。

myDict= {'a':['Apple','all','always','allow','Adam',....], 'b': ['base','Bill','ball',....]

我不知道这是否是最好的方式,但这是一种方式:

for word in example_file:
    first_letter = word[0].lower()
    if first_letter in myDict and word in myDict[first_letter]:
        print("{} found in myDict!".format(word))

避免区分大小写:

for word in example_file:
    first_letter = word[0].lower()
    if first_letter in myDict and word.lower() in [x.lower() for x in myDict[first_letter]:
        print("{} found in myDict!".format(word))

取决于您的搜索类型