例如我有这样的事情:
{'key1': 'value', 'key2': 'value', 'key3': 'value','key4': 'value','key4': 'value'}
有一个数组:
['key1', 'key3']
如何检查第二个阵列中的所有键是否都存在?
答案 0 :(得分:7)
您可以使用all
和generator expression。这将迭代您的数组并检查每个键是否在d
的键中。如果至少缺少其中一个键,那么它将返回False。
d = {'key1': 'value', 'key2': 'value', 'key3': 'value','key4': 'value','key4': 'value'}
a = ['key1', 'key3']
all(key in d for key in a) # True
a2 = ['key1', 'key5']
all(key in d for key in a2) # False
答案 1 :(得分:3)
您可以使用set.issubset()方法检查
a = {'key1': 'value', 'key2': 'value', 'key3': 'value','key4': 'value','key4': 'value'}
b = ['key1', 'key3']
set(b).issubset(a)
#True
c = ['key1', 'key5']
set(c).issubset(a)
#False
修改:根据@Maroun Maroun评论直接在issubset
上应用a
答案 2 :(得分:1)
答案 3 :(得分:0)
在dict对象中使用循环和运算符:
adict = {'key1': 'value', 'key2': 'value', 'key3': 'value','key4': 'value','key4': 'value'}
keys_list = ['key1', 'key3']
for key in keys_list:
if key in adict:
print key
“in”可以检查dict中的键是否