A veces, mientras trabajamos con diccionarios de Python, podemos tener problemas en los que necesitamos actualizar los valores del diccionario, según el tipo de datos. Este tipo de problema puede tener aplicación en muchos dominios que incluyen datos. Vamos a discutir una forma en que este problema puede ser resuelto.
Entrada : test_dict = {‘gfg’: “”, ‘is’: {}, ‘best’: []}
Salida : {‘gfg’: ‘geeks’, ‘is’: {‘c’: 7}, ‘ mejor’: [4, 5]}Entrada : test_dict = {‘gfg’: “123”, ‘is’: {}, ‘best’: [“geeks”]}
Salida : {‘gfg’: ‘123geeks’, ‘is’: {‘c’: 7}, ‘mejor’: [‘geeks’, 4, 5]}
Método: Usoisinstance() + update() + extend()
La combinación de las funciones anteriores se puede utilizar para realizar esta tarea. En esto, verificamos el tipo de datos de valor usando isinstance() y realizamos la actualización del diccionario usando update(), la actualización de la lista usando extend().
# Python3 code to demonstrate working of # Append Multitype Values in Dictionary # Using isinstance() + update() + extend() # helper_fnc def update_dictionary(key, val, test_dict): if key not in test_dict: current_dict[key] = value elif type(val) not in [str, list, dict]: raise ValueError("Invalid Data Type") elif isinstance(val, list): test_dict[key].extend(val) elif isinstance(val, dict): test_dict[key].update(val) else: test_dict[key] = test_dict[key] + val return test_dict # initializing dictionary test_dict = {'gfg' : "geekfor", 'is' : {'a' : 5, 'b' : 6}, 'best' : [1, 2, 3]} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing dict, string and append up_dict = {'c' : 7} up_str = 'geeks' up_list = [4, 5] # Append Multitype Values in Dictionary # Using isinstance() + update() + extend() res = update_dictionary('gfg', up_str, test_dict) res = update_dictionary('is', up_dict, res) res = update_dictionary('best', up_list, res) # printing result print("The update dictionary : " + str(res))
El diccionario original es: {‘is’: {‘b’: 6, ‘a’: 5}, ‘best’: [1, 2, 3], ‘gfg’: ‘geekfor’}
El diccionario actualizado: {‘ es’: {‘b’: 6, ‘a’: 5, ‘c’: 7}, ‘mejor’: [1, 2, 3, 4, 5], ‘gfg’: ‘geekforgeeks’}
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