El diccionario es una colección desordenada, modificable e indexada. En Python, los diccionarios se escriben con corchetes y tienen claves y valores. Es ampliamente utilizado en la programación diaria, el desarrollo web y el aprendizaje automático. La combinación de diccionarios es una tarea muy común en las operaciones de diccionario.
Veamos cómo combinar los valores de dos diccionarios que tienen la misma clave.
Método #1: UsarCounter
Counter es una subclase especial de diccionario que realiza los mismos actos que el diccionario en la mayoría de los casos.
# Python code to demonstrate combining # two dictionaries having same key from collections import Counter # initialising dictionaries ini_dictionary1 = Counter({'nikhil': 1, 'akash' : 5, 'manjeet' : 10, 'akshat' : 15}) ini_dictionary2 = Counter({'akash' : 7, 'akshat' : 5, 'm' : 15}) # printing initial dictionaries print ("initial 1st dictionary", str(ini_dictionary1)) print ("initial 2nd dictionary", str(ini_dictionary2)) # combining dictionaries # using Counter final_dictionary = ini_dictionary1 + ini_dictionary2 # printing final result print ("final dictionary", str(final_dictionary))
Contador del primer diccionario inicial ({‘akshat’: 15, ‘manjeet’: 10, ‘akash’: 5, ‘nikhil’: 1})
Contador del segundo diccionario inicial ({‘m’: 15, ‘akash’: 7, ‘ akshat’: 5})
Contador de diccionario final ({‘akshat’: 20, ‘m’: 15, ‘akash’: 12, ‘manjeet’: 10, ‘nikhil’: 1})
Método #2: Usardict() and items
este método es para la versión 2 de Python.
# Python code to demonstrate combining # two dictionaries having same key # initialising dictionaries ini_dictionary1 = {'nikhil': 1, 'akash' : 5, 'manjeet' : 10, 'akshat' : 15} ini_dictionary2 = {'akash' : 7, 'akshat' : 5, 'm' : 15} # printing initial dictionaries print ("initial 1st dictionary", str(ini_dictionary1)) print ("initial 2nd dictionary", str(ini_dictionary2)) # combining dictionaries # using dict() and items() final_dictionary = dict(ini_dictionary1.items() + ini_dictionary2.items() + [(k, ini_dictionary1[k] + ini_dictionary2[k]) for k in set(ini_dictionary2) & set(ini_dictionary1)]) # printing final result print ("final dictionary", str(final_dictionary))
(‘primer diccionario inicial’, “{‘manjeet’: 10, ‘nikhil’: 1, ‘akshat’: 15, ‘akash’: 5}”)
(‘segundo diccionario inicial’, “{‘m’: 15, ‘akshat’: 5, ‘akash’: 7}»)
(‘diccionario final’, «{‘nikhil’: 1, ‘m’: 15, ‘manjeet’: 10, ‘akshat’: 20, ‘akash’: 12}”)
Método n.º 3: usar la comprensión y el conjunto de dictados
# Python code to demonstrate combining # two dictionaries having same key # initialising dictionaries ini_dictionary1 = {'nikhil': 1, 'akash' : 5, 'manjeet' : 10, 'akshat' : 15} ini_dictionary2 = {'akash' : 7, 'akshat' : 5, 'm' : 15} # printing initial dictionaries print ("initial 1st dictionary", str(ini_dictionary1)) print ("initial 2nd dictionary", str(ini_dictionary2)) # combining dictionaries # using dict comprehension and set final_dictionary = {x: ini_dictionary1.get(x, 0) + ini_dictionary2.get(x, 0) for x in set(ini_dictionary1).union(ini_dictionary2)} # printing final result print ("final dictionary", str(final_dictionary))
primer diccionario inicial {‘nikhil’: 1, ‘akshat’: 15, ‘akash’: 5, ‘manjeet’: 10}
segundo diccionario inicial {‘akshat’: 5, ‘akash’: 7, ‘m’: 15}
diccionario final {‘nikhil’: 1, ‘akshat’: 20, ‘akash’: 12, ‘m’: 15, ‘manjeet’: 10}
Publicación traducida automáticamente
Artículo escrito por garg_ak0109 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA