Fusionar diccionario. La entrada utiliza una cadena para representar dos diccionarios, y el diccionario combinado se emite.Las teclas del diccionario están representadas por una letra o número. Nota: ¡1 y '1' son palabras clave diferentes!
Formato de entrada:
Ingrese la primera cadena del diccionario en la primera línea Ingrese la segunda cadena del diccionario en la segunda línea
Formato de salida:
El diccionario combinado se emite en una línea, y la salida está en orden lexicográfico. El valor ASCII de "1" es 49, que es mayor que 1. Al ordenar, 1 es primero, "1" es el siguiente, y los demás son iguales.
Ejemplo de entrada 1:
Aquí hay un conjunto de entradas. Por ejemplo:
{1:3,2:5}
{1:5,3:7}
Salida de muestra 1:
La salida correspondiente se da aquí. Por ejemplo:
{1:8,2:5,3:7}
Ejemplo de entrada 2:
Aquí hay un conjunto de entradas. Por ejemplo:
{"1":3,1:4}
{"a":5,"1":6}
Salida de muestra 2:
La salida correspondiente se da aquí. Por ejemplo:
{1:4,"1":9,"a":5}
第一版(代码死板,不建议参考,见第二版)
# Diccionario de combinación # Autor: cnRick # Tiempo: 10/04/2020 dict1 = eval (INPUT ()) dict2 = eval (input ()) claves1 = dict1.keys () keys2 = dict2.keys () minLenFlag = 1 si len (dict1)> len (dict2) más 0 si minLenFlag == 0: para i en las claves1: si i en dict2: dict2 [i] = dict2 [i] + dict1 [i] más : dict2 [i] = dict1 [i] teclas = lista (dict2.keys ()) keys.sort (key = lambda x: ord (x) if type (x) == str else x) cnt = 0 print ( " { " , end = "" ) para i en las teclas: if type (i) == int: print ( " {: d}: {: d} " .format (i, dict2 [i] ), end = "" ) cnt + = 1 elif type (i) == str: print ( ' "{: s}": {: d} ' .format (i, dict2 [i]), end = "" ) cnt + = 1 if cnt! = len (dict2): print ( " , " , end = "" ) print ( " } " , end = "" ) otra cosa : para i en Keys2: si i en dict1: dict1 [i] = dict1 [i] + dict2 [i] más : dict1 [i] = dict2 [i] claves = lista (dict1.keys ()) keys.sort (key = lambda x: ord (x) if type (x) == str else x) cnt = 0 print ( " { " , end = "" ) para i en las teclas: if type (i) == int: print ( " {: d}: {: d} " .format (i, dict1 [i] ), end = "" ) cnt + = 1 elif type (i) == str: print ( ' "{: s}": {: d} ' .format (i, dict1 [i]), end = "" ) cnt + = 1 if cnt! = len (dict1): print ( " , " , end = "" ) print ( " } " , end = "" )
Segunda edicion
1 # 字典合并-简化版 2 # Autor: cnRick 3 # Tiempo: 04/10/2020 4 dict1 = eval (input ()) 5 dict2 = eval (input ()) 6 para llave en dict2.keys (): 7 dict1 [clave] = dict1.get (clave, 0) + dict2 [clave] 8 9 items_list = list (dict1.items ()) 10 items_list.sort (key = lambda item: ord (item [0]) if if ( item [0]) == str else item [0]) 11 print (str (dict (items_list)). replace ( " " , " " ) .replace ( " ' " , ' " ' ))
Ideas para referencia: https://blog.csdn.net/qq_43479432/article/details/105009411