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))
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))
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