for key in list(programs.keys()):
    for w in key.split():
        w = w.lower()
if w not in words:
    words[w] = set()
words[w].add(key)

def lookup(search_string, words, programs):
    result_keys = None
for w in search_string.split():
    pass
Найти элементы словаря, ключ которых соответствует подстроке