Сопоставление одного элемента с парой ключ / значение словаря элементов, где значения представляют собой сами списки - PullRequest
0 голосов
/ 06 декабря 2018

Я создал словарь, где ключи - это строчные буквы английского алфавита, а соответствующее значение каждой клавиши - список слов, начинающихся с этой буквы.Списки содержат слова как в верхнем, так и в нижнем регистре.

так например: myDict = {'a': ['Apple', 'all', 'Always', 'allow', 'Adam', ....], 'b': ['base ',' Bill ',' ball ', ....], ...

Затем я читаю из отдельного текстового файла и проверяю, есть ли каждое слово в текстовом файле в моем словаре, итогда, если не сохранить это слово в другом списке.

Сейчас я проверяю, является ли первая буква моего слова (в нижнем регистре), которую я сравниваю, ключом в моем словаре.Затем я хотел проверить все слово в списке значений этого ключа.

Я знаю, что могу проверить все значения в своем словаре, но я не совсем понимаю, в чем смысл наличия словаря, если я проверяю все значения в своем словаре для этого слова.

Я хочу знать, каков наилучший / наиболее эффективный способ обработки таких случаев?

Я довольно новичок в python, поэтому извините, если я что-то упустил.Мне кажется, что использование словаря и проверка всех значений ничем не отличается от использования списка?

1 Ответ

0 голосов
/ 06 декабря 2018

В общем, хорошей практикой является размещение вашего реального кода, а не описание того, как выглядит ваш код.

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

Зависит от того, какой поиск вы ищете

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...