Python | Comprobar si un diccionario es un subconjunto de otro

A veces, mientras trabajamos con Python, podemos tener un problema en el que necesitamos encontrar, si un diccionario en particular es parte de otro, es decir, es un subconjunto de otro. Un problema que tiene un gran potencial en el dominio del desarrollo web, tener conocimiento para resolverlo puede ser útil. Analicemos ciertas formas en que se puede realizar esta tarea.

Método n.º 1: Usarall() + items()
Esta tarea se puede realizar usando la combinación de las dos funciones anteriores, en las que verificamos todos los elementos del subdict con el dict original usando all()y buscamos cada par usando 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))
Producción :

El diccionario original 1: {‘CS’: 5, ‘is’: 2, ‘best’: 3, ‘gfg’: 1, ‘for’: 4}
El diccionario original 2: {‘is’: 2, ‘best ‘: 3, ‘gfg’: 1}
¿Dict2 se encuentra en dict1? : Verdadero

Método n.º 2: usaritems() + <= operator
Otra alternativa para realizar la tarea anterior puede ser usar el operador items()junto con . <=Esto solo verifica menos o todos los valores de todos los valores clave coincidentes.

# 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))
Producción :

El diccionario original 1: {‘CS’: 5, ‘is’: 2, ‘best’: 3, ‘gfg’: 1, ‘for’: 4}
El diccionario original 2: {‘is’: 2, ‘best ‘: 3, ‘gfg’: 1}
¿Dict2 se encuentra en dict1? : Verdadero

Publicación traducida automáticamente

Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *