A veces, mientras trabajamos con datos de Tuple, podemos tener problemas cuando realizamos sus ediciones, debido a su inmutabilidad. Esto analiza las ediciones en valores de tupla en el diccionario. Esto puede tener aplicación en muchos dominios, ya que el diccionario suele ser un tipo de datos popular en los dominios de desarrollo web y ciencia de datos. Analicemos ciertas formas en que se puede resolver este problema.
Entrada :
test_dict = {‘Gfg’: (5, 6, 7, 8)}
K = 2
Salida : {‘Gfg’: (10, 12, 14, 16)}Entrada :
test_dict = {‘Gfg’: (5, ), ‘es’: (6, ), ‘mejor’: (7, )}
K = 7
Salida : {‘Gfg’: (35, ), ‘es’ : (42, ), ‘mejor’: (49, )}
Método n.º 1: uso de la expresión del generador + comprensión del diccionario
La combinación de las funcionalidades anteriores ofrece una forma de fuerza bruta para resolver este problema. En esto, realizamos la tarea de edición utilizando la expresión del generador y la comprensión del diccionario para rehacer el diccionario con los valores editados.
Python3
# Python3 code to demonstrate working of # Dictionary Tuple values update # Using generator expression + dictionary comprehension # initializing dictionary test_dict = {'Gfg' : (5, 6), 'is' : (7, 8), 'best' : (10, 11)} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing K # performing multiplication by K K = 3 # Dictionary Tuple values update # Using generator expression + dictionary comprehension res = {key: tuple(idx * K for idx in val) for key, val in test_dict.items()} # printing result print("The edited tuple values : " + str(res))
The original dictionary is : {'Gfg': (5, 6), 'is': (7, 8), 'best': (10, 11)} The edited tuple values : {'Gfg': (15, 18), 'is': (21, 24), 'best': (30, 33)}
Método #2: Usar map() + lambda() + dict()
La combinación de las funcionalidades anteriores también ofrece una forma de resolver este problema. En esto, la asignación de valores se realiza mediante lambda() y la construcción del diccionario mediante dict(). La tarea de extender la lógica a cada tecla se realiza mediante map().
Python3
# Python3 code to demonstrate working of # Dictionary Tuple values update # Using map() + lambda() + dict() # initializing dictionary test_dict = {'Gfg' : (5, 6), 'is' : (7, 8), 'best' : (10, 11)} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # initializing K # performing multiplication by K K = 3 # Dictionary Tuple values update # Using map() + lambda() + dict() res = dict(map(lambda sub: (sub[0], (sub[1][0] * K, sub[1][1] * K)), test_dict.items())) # printing result print("The edited tuple values : " + str(res))
The original dictionary is : {'Gfg': (5, 6), 'is': (7, 8), 'best': (10, 11)} The edited tuple values : {'Gfg': (15, 18), 'is': (21, 24), 'best': (30, 33)}
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