【问题标题】:Python 3.4 Matching a string with a list of strings (in the form of keys from a dictionary) **ignoring case.**Python 3.4 将字符串与字符串列表匹配(以字典中键的形式)**忽略大小写。**
【发布时间】:2015-12-08 05:22:08
【问题描述】:

场景:我有一个项目字典:

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。 它不会检查我的程序所需的整个字符串

【问题讨论】:

    标签: regex string python-3.x dictionary ignore-case


    【解决方案1】:

    简单地做:

    if user_input.lower() == key.lower()
    

    【讨论】:

    • 无论出于何种原因,我从未想到过,老实说,我不知道为什么。 +1 感谢您的帮助
    • 没问题,我的荣幸!
    猜你喜欢
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-08
    • 2022-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多