Python 3.4 Сопоставление строки со списком строк (в виде ключей из словаря) ** без учета регистра.**
Сценарий: у меня есть словарь предметов:
d = {'abcde': 1, 'ETHAN': 2, 'dogsAndcats': 3, 'cat and MOUSE': 4}
Я прошу пользователя ввести одно из четырех ключевых значений словаря d:
user_input = input()
Затем я беру их значение и проверяю его по каждому ключевому имени в словаре:
for key in d.keys():
if user_input == key:
return True
Предположим, что пользователь несколько дружелюбен и, по крайней мере, вводит правильное написание слов. Но! -Вот вся основа моего вопроса - пользователь пренебрегает использованием правильной заглавной буквы.
Как я могу проверить введенные пользователем данные в моем списке, игнорируя заглавные буквы?
Я пытался использовать методы регулярного выражения.search и.match. Смотрите код ниже:
def check_value_in_dict(val, d):
for k in d.keys():
if re.search(val, k, re.IGNORECASE):
return True
Это возвращает true, если пользователь вводит только одну правильную букву в строке. Он не проверяет всю строку, которая необходима для моей программы.