Capítulo 5-11 Fusión de diccionario (40 puntos) (examine el procesamiento de la clasificación mixta de números y cadenas)

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

 

Supongo que te gusta

Origin www.cnblogs.com/dreamcoding/p/12676478.html
Recomendado
Clasificación