random.shuffle(x)
La función random.shuffle desordena la secuencia x in-place.
Si se desea desordenar una secuencia x inmutable, puede recurrirse a:
- x: Secuencia a desordenar. Deberá ser mutable pues, en cualquier otro caso, la función devolverá un error.
La función random.shuffle devuelve la secuencia x pasada como argumento desordenada.
Si tenemos una lista formada por los nombres de los días de la semana:
...podríamos desordenarla con el siguiente código:
La desordenación se realiza in-place, por lo que tendríamos que volver a imprimirla si quisiéramos ver el resultado:
Intentar desordenar una secuencia inmutable devolverá un mensaje de error. Por ejemplo, si partimos de una tupla:
...el intentar desordenarla genera un error:
random.shuffle(a)
except:
print("Error")
Si se pasa a esta función una estructura compleja -como un array NumPy, por ejemplo- los resultados no son los esperados:
a
[3, 4, 5],
[6, 7, 8]])
a
[3, 4, 5],
[0, 1, 2]])