📜  Python|检查一个字典是否是另一个字典的子集

📅  最后修改于: 2022-05-13 01:54:39.290000             🧑  作者: Mango

Python|检查一个字典是否是另一个字典的子集

有时,在使用Python时,我们可能会遇到需要查找的问题,如果特定字典是 other 的一部分,即它是 other 的子集。在 Web 开发领域具有巨大潜力的问题,具有解决知识可能会很有用。让我们讨论可以执行此任务的某些方式。

方法 #1:使用all() + items()
可以使用上述两个函数的组合来执行此任务,其中我们使用all()检查带有原始 dict 的 subdict 的所有项目,并使用items()获取它的每一对。

# Python3 code to demonstrate working of
# Check if one dictionary is subset of other
# Using all() + items()
  
# Initialize dictionaries
test_dict1 = {'gfg' : 1, 'is' : 2, 'best' : 3, 'for' : 4, 'CS' : 5}
test_dict2 = {'gfg' : 1, 'is' : 2, 'best' : 3}
  
# printing original dictionaries
print("The original dictionary 1 : " +  str(test_dict1))
print("The original dictionary 2 : " +  str(test_dict2))
  
# Using all() + items()
# Check if one dictionary is subset of other
res = all(test_dict1.get(key, None) == val for key, val
                                 in test_dict2.items())
      
# printing result 
print("Does dict2 lie in dict1 ? : " + str(res))
输出 :

方法 #2:使用items() + <= operator
执行上述任务的另一种方法是使用items()<=运算符。这只是检查所有匹配的键值的少于或全部值。

# Python3 code to demonstrate working of
# Check if one dictionary is subset of other
# Using items() + <= operator
  
# Initialize dictionaries
test_dict1 = {'gfg' : 1, 'is' : 2, 'best' : 3, 'for' : 4, 'CS' : 5}
test_dict2 = {'gfg' : 1, 'is' : 2, 'best' : 3}
  
# printing original dictionaries
print("The original dictionary 1 : " +  str(test_dict1))
print("The original dictionary 2 : " +  str(test_dict2))
  
# Using items() + <= operator
# Check if one dictionary is subset of other
res = test_dict2.items() <= test_dict1.items()
      
# printing result 
print("Does dict2 lie in dict1 ? : " + str(res))
输出 :