如何检查字典(实际上是字典对象)是否具有一组给定的键(复数)?
到目前为止,我已经使用过:
d = { 'a': 1, 'b': 2, 'c': 3 }
keys = ('a', 'b')
def has_keys(d, keys):
for key in keys:
if not key in d:
return False
return True
有更优雅和Pythonic的方法吗?
答案 0 :(得分:11)
使用内置函数all()
>>> d = { 'a': 1, 'b': 2, 'c': 3 }
>>> keys = ('a', 'b')
>>> all(elem in d for elem in keys)
True
>>> keys = ('a', 'b', 'd')
>>> all(elem in d for elem in keys)
False
答案 1 :(得分:1)
您也可以尝试这样:
>>> names = {
'a' : 11,
'b' : 10,
'c' : 14,
'd': 7
}
>>> keys = ('a', 'b')
>>> set(keys).issubset(names)
True
答案 2 :(得分:-1)
你可以使用关键字“in” 例如: d = {'a':1,'b':2,'c':3} 如果'd'在d: 打印'是' 其他: 打印'不'