random.shuffle

Nombre completo
random.shuffle
Librería
random
Sintaxis

random.shuffle(x)

Descripción

La función random.shuffle desordena la secuencia x in-place.

Si se desea desordenar una secuencia x inmutable, puede recurrirse a:

x = sample(x, k = len(x))
Parámetros
  • x: Secuencia a desordenar. Deberá ser mutable pues, en cualquier otro caso, la función devolverá un error.
Resultado

La función random.shuffle devuelve la secuencia x pasada como argumento desordenada.

Ejemplos

Si tenemos una lista formada por los nombres de los días de la semana:

días = ["Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado", "Domingo"]

...podríamos desordenarla con el siguiente código:

random.shuffle(días)

La desordenación se realiza in-place, por lo que tendríamos que volver a imprimirla si quisiéramos ver el resultado:

días
['Lunes', 'Viernes', 'Miércoles', 'Domingo', 'Sábado', 'Martes', 'Jueves']

Intentar desordenar una secuencia inmutable devolverá un mensaje de error. Por ejemplo, si partimos de una tupla:

a = ("A", "B", "C")

...el intentar desordenarla genera un error:

try:
    random.shuffle(a)
except:
    print("Error")
Error

Si se pasa a esta función una estructura compleja -como un array NumPy, por ejemplo- los resultados no son los esperados:

import numpy as np
a = np.arange(9).reshape(3, 3)
a
array([[0, 1, 2],
       [3, 4, 5],
       [6, 7, 8]])
random.shuffle(a)
a
array([[0, 1, 2],
       [3, 4, 5],
       [0, 1, 2]])
Enviado por admin el Vie, 12/03/2021 - 09:00