Dado un diccionario, la tarea es escribir un programa en Python para barajar sus valores en diferentes claves.
Ejemplos:
Entrada: test_dict = {«gfg»: 1, «es»: 7, «mejor»: 8, «para»: 3, «geeks»: 9}
Salida: {“gfg”: 9, “es”: 8, “mejor”: 7, “para”: 3, “geeks”: 1}
Explicación: las teclas están en la misma posición, pero los valores se mezclan.
Entrada: test_dict = {“gfg”: 7, “es”: 1, “mejor”: 8, “para”: 3, “geeks”: 9}
Salida: {“gfg”: 9, “es”: 8, “mejor”: 7, “para”: 3, “geeks”: 1}
Explicación: las teclas están en la misma posición, pero los valores se mezclan.
Método #1: Usando shuffle() + zip() + dict()
En esto, realizamos la tarea de barajar elementos usando shuffle() , y zip() se usa para asignar los valores barajados a claves. Al final, se usa dict() para convertir el resultado en un diccionario.
Python3
# Python3 code to demonstrate working of # Shuffle dictionary Values # Using shuffle() + zip() + dict() import random # initializing dictionary test_dict = {"gfg": 1, "is": 7, "best": 8, "for": 3, "geeks": 9} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # shuffling values temp = list(test_dict.values()) random.shuffle(temp) # reassigning to keys res = dict(zip(test_dict, temp)) # printing result print("The shuffled dictionary : " + str(res))
Producción:
El diccionario original es: {‘gfg’: 1, ‘is’: 7, ‘best’: 8, ‘for’: 3, ‘geeks’: 9}
El diccionario barajado: {‘gfg’: 1, ‘is’: 7, ‘best’: 3, ‘for’: 9, ‘geeks’: 8}
Método #2: Usar muestra() + zip()
En esto, la tarea de barajar valores se realiza usando sample() de la biblioteca aleatoria .
Python3
# Python3 code to demonstrate working of # Shuffle dictionary Values # Using sample() + zip() from random import sample # initializing dictionary test_dict = {"gfg": 1, "is": 7, "best": 8, "for": 3, "geeks": 9} # printing original dictionary print("The original dictionary is : " + str(test_dict)) # reassigning to keys res = dict(zip(test_dict, sample(list(test_dict.values()), len(test_dict)))) # printing result print("The shuffled dictionary : " + str(res))
Producción:
El diccionario original es: {‘gfg’: 1, ‘is’: 7, ‘best’: 8, ‘for’: 3, ‘geeks’: 9}
El diccionario barajado: {‘gfg’: 8, ‘is’: 9, ‘best’: 1, ‘for’: 3, ‘geeks’: 7}
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