0

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

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是一本字典,我正在检查键。

其实有2个问题:

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

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

4

2 回答 2

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

或者

>>> keys | set(d)
于 2013-09-18T01:51:42.187 回答
2

是的!有一个更好的方法:

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

if any(key in response_dic for key in keys):
    #do stuff
于 2013-09-18T01:52:14.450 回答