Python – Valores del diccionario aleatorio

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

Deja una respuesta

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