检查字符串的任何键中是否出现字符串

时间:2017-01-18 18:20:41

标签: python dictionary

我试图检查一个字符串是 字典中的一个键。

if message in a_dict: # this will only work if message is exactly one of the keys
    #do stuff

我希望条件返回True,即使message只是a_dict个密钥之一的部分

我该怎么做?有没有办法在字符串中添加正则表达式.*?或者有更好的方法吗?

2 个答案:

答案 0 :(得分:8)

您可以使用any

elif any(message in key for key in a_dict):
    do_something()

如果您还需要包含消息的密钥:

else:
    key = next((message in key for key in a_dict), None)
    if key is not None:
        do_something(key)

答案 1 :(得分:0)

您可以通过Python in运算符真正做到您想要的。最好手动进行检查 - 迭代所有密钥,看看是否有任何密钥包含message