我需要检查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方式来做到这一点
答案 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