如果python中的字典中至少有一个键存在,那么更好的方法是什么?

时间:2011-10-28 16:05:28

标签: python list dictionary

我需要检查dict中是否存在至少一个键列表,我的意思是,我有一个键列表:

keys = ['key1','key2','key3','key4','key5']
dict_ = {'key1': 1,'key2':2}
# I could do something like
if 'key1' in dict_ or 'key2' in dict_ or 'key3' in dict_:
    print True

但我想知道是否存在更多的pythonic方式来做到这一点

2 个答案:

答案 0 :(得分:8)

使用Python的内置any(),它需要一个可迭代的,如果任何元素为真,则返回True,并且当它找到匹配时就像你的链式or检查一样短路。 / p>

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

答案 1 :(得分:3)

你可以使用套装:

In [4]: len(set(dict_.keys()) & set(keys)) > 0
Out[4]: True