将单个元素与元素字典键/值对匹配,其中值本身就是列表

时间:2018-12-06 14:12:05

标签: python dictionary lookup

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

例如:myDict = {'a':['Apple','all','always','allow','Adam',....],'b':['base', '比尔','球',....],...

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

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

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

我想知道什么是处理此类案件的最佳/最有效方法?

我对python很陌生,所以如果我完全缺少某些东西,请原谅。我想使用字典并检查所有值与使用列表没有什么不同?

1 个答案:

答案 0 :(得分:0)

通常,发布您的实际代码是一种好习惯,而不是描述代码的外观。

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))

取决于您要进行哪种搜索