检查字典是否有多个键

时间:2014-07-23 05:24:09

标签: python python-3.x dictionary key

如何检查字典(实际上是字典对象)是否具有一组给定的(复数)?

到目前为止,我已经使用过:

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的方法吗?

3 个答案:

答案 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:     打印'是' 其他:     打印'不'