检查字典中的许多键:优化

时间:2013-09-18 01:47:15

标签: python dictionary key

有没有更好的方法来编写以下内容:

if "msg" in response_dic or "save_act_errors" in response_dic  or "add_act_errors" in response_dic  or "modif_act_errors" in response_dic  or "update_act_errors" in response_dic:
    #do stuff

response_dic是一本字典,我正在检查密钥。

事实上有两个问题:

1 /如何在字典中测试多个键?

2 /如何检查部分键(在我的情况下以“_act_errors”结束)?

2 个答案:

答案 0 :(得分:2)

>>> keys = ['msg','save_act_errors']
>>> d = { 'msg':1 }
>>> any(key in d for key in keys)
True

>>> keys | set(d)

答案 1 :(得分:2)

是的!还有更好的方法:

keys = ["msg", "save_act_errors", "add_act_errors", "modif_act_errors", ...]

if any(key in response_dic for key in keys):
    #do stuff