Dado un diccionario, combine las claves para asignar valores comunes.
Ejemplos:
Entrada : test_dict = {1:6, 8:1, 9:3, 10:3, 12:6, 4:9, 2:3}
Salida : {‘1-12’: 6, ‘2-9-10 ‘: 3, ‘4’: 9, ‘8’: 1}
Explicación : todas las claves con valores similares se fusionaron.Entrada : test_dict = {1:6, 8:1, 9:3, 4:9, 2:3}
Salida : {‘1’: 6, ‘2-9’: 3, ‘4’: 9, ‘8 ‘: 1}
Explicación : todas las claves con valores similares se fusionaron.
Enfoque: uso de defaultdict() + bucle
Esta tarea se realiza en 2 pasos, primero, agrupar todos los valores y almacenar claves, y en el segundo paso asignar claves fusionadas a valores comunes.
Python3
# Python3 code to demonstrate working of # Merge keys by values # Using defaultdict() + loop from collections import defaultdict # initializing dictionary test_dict = {1: 6, 8: 1, 9: 3, 10: 3, 12: 6, 4: 9, 2: 3} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # grouping values temp = defaultdict(list) for key, val in sorted(test_dict.items()): temp[val].append(key) res = dict() # merge keys for key in temp: res['-'.join([str(ele) for ele in temp[key]])] = key # printing result print("The required result : " + str(res))
Producción:
El diccionario original es: {1: 6, 8: 1, 9: 3, 10: 3, 12: 6, 4: 9, 2: 3}
El resultado requerido: {‘1-12’: 6, ‘2- 9-10’: 3, ‘4’: 9, ‘8’: 1}
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