Python: asigna valores invertidos en el diccionario

Dado un diccionario, asigne valores a cada clave después de revertir los valores del diccionario.

Entrada : {1: 4, 2: 5, 3: 6}
Salida : {1: 6, 2: 5, 3: 4}
Explicación : el orden de valores cambió, 4, 5, 6 a 6, 5, 4.

Entrada : {1 : 5, 2 : 5, 3 : 5}
Salida : {1 : 5, 2 : 5, 3 : 5}
Explicación : Mismos valores, sin cambios visibles.

Método #1: Usar valores() + loop + invertido()

Esta es una de las formas en que se puede realizar esta tarea. En esto, invertimos todos los valores en el diccionario usando reversed() y reasignamos a las claves. 

Python3

# Python3 code to demonstrate working of 
# Assign Reversed Values in Dictionary
# Using reversed() + loop + values()
  
# initializing dictionary
test_dict = {1 : "Gfg", 2 : "is", 3 : "Best"}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# extract values using values()
new_val = list(reversed(list(test_dict.values())))
  
# reassign new values
res = dict()
cnt = 0
for key in test_dict:
    res[key] = new_val[cnt]
    cnt += 1
  
# printing result 
print("Reassigned reverse values : " + str(res)) 
Producción

The original dictionary is : {1: 'Gfg', 2: 'is', 3: 'Best'}
Reassigned reverse values : {1: 'Best', 2: 'is', 3: 'Gfg'}

Método #2: Usando la comprensión del diccionario + invertido() + valores()

La combinación de las funciones anteriores se puede utilizar para resolver este problema. En esto, realizamos la tarea de rehacer el diccionario invertido utilizando la receta de comprensión del diccionario para una solución de una sola línea.

Python3

# Python3 code to demonstrate working of 
# Assign Reversed Values in Dictionary
# Using dictionary comprehension + reversed() + values()
  
# initializing dictionary
test_dict = {1 : "Gfg", 2 : "is", 3 : "Best"}
  
# printing original dictionary
print("The original dictionary is : " + str(test_dict))
  
# extract values using values()
new_val = list(reversed(list(test_dict.values())))
  
# one-liner dictionary comprehension approach
# enumerate for counter
res = {key : new_val[idx] for idx, key in enumerate(list(test_dict.keys()))}
  
# printing result 
print("Reassigned reverse values : " + str(res)) 
Producción

The original dictionary is : {1: 'Gfg', 2: 'is', 3: 'Best'}
Reassigned reverse values : {1: 'Best', 2: 'is', 3: 'Gfg'}

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *