Saltar al contenido principal

Cómo comprobar si un diccionario es un subconjunto de otro diccionario en Python

Aquí tienes un tutorial paso a paso sobre cómo verificar si un diccionario es un subconjunto de otro diccionario en Python.

Paso 1: Crear dos diccionarios

  • Comienza creando dos diccionarios que deseas comparar. Puedes definirlos manualmente o generarlos dinámicamente según tus requisitos. Para este tutorial, consideremos los siguientes diccionarios:
dict1 = {'a': 1, 'b': 2, 'c': 3}
dict2 = {'a': 1, 'c': 3}

Paso 2: Utiliza el método items()

  • Para comparar los diccionarios, debes iterar sobre los pares clave-valor del diccionario más pequeño (el subconjunto potencial) y verificar si cada par clave-valor existe en el diccionario más grande. El método items() devuelve una lista de tuplas que contienen los pares clave-valor de un diccionario.
for key, value in dict2.items():
if key in dict1 and dict1[key] == value:
continue
else:
print("dict2 no es un subconjunto de dict1")
break
else:
print("dict2 es un subconjunto de dict1")

Paso 3: Explicación

  • El bucle for itera sobre cada par clave-valor en dict2 utilizando el método items().
  • Dentro del bucle, verifica si la clave actual existe en dict1 y si el valor correspondiente en dict1 coincide con el valor en dict2.
  • Si la condición se cumple para todos los pares clave-valor en dict2, se ejecuta el bloque else, lo que indica que dict2 es un subconjunto de dict1.
  • Si algún par clave-valor no coincide o si una clave no existe en dict1, se omite el bloque else y se imprime un mensaje que indica que dict2 no es un subconjunto de dict1.

Paso 4: Prueba el código

  • Finalmente, puedes probar el código ejecutándolo con diferentes diccionarios para verificar si uno es un subconjunto del otro. Aquí tienes un ejemplo:
dict1 = {'a': 1, 'b': 2, 'c': 3}
dict2 = {'a': 1, 'c': 3}

for key, value in dict2.items():
if key in dict1 and dict1[key] == value:
continue
else:
print("dict2 no es un subconjunto de dict1")
break
else:
print("dict2 es un subconjunto de dict1")

Salida:

dict2 es un subconjunto de dict1

En este ejemplo, dict2 es un subconjunto de dict1 porque todos los pares clave-valor en dict2 también existen en dict1 con los mismos valores.