Método shuffle del módulo random

El método shuffle del módulo random mezcla el orden de los elementos en una secuencia mutable. Dado que una tupla es una secuencia inmutable, y los elementos en un conjunto no están ordenados, resulta que el método solo funciona con listas. Después de ejecutar el método, la lista original se modifica, y el propio método devuelve None. En el parámetro del método pasamos la lista que necesitamos.

Sintaxis

pythonimport random

random.shuffle(lista)

Ejemplo

Mezclemos los elementos en una lista:

pythonlst = [1, 2, 3, 4, 5]
random.shuffle(lst)
print(lst)

Resultado de ejecutar el código:

python[4, 3, 2, 1, 5]

Ejemplo

Ahora intentemos mezclar los elementos de una tupla:

pythontpl = ('1', '2', '3', '4', '5')
random.shuffle(tpl)
print(tpl)

Obtendremos el siguiente error:

errorTypeError: 'tuple' object does not support item assignment

Ejemplo

También intentemos mezclar los elementos de un conjunto:

pythonst = {'a', 'b', 'c', 'd'}
random.shuffle(st)
print(st)

Después de ejecutar el código, obtendremos el siguiente error:

errorTypeError: 'set' object is not subscriptable

Véase también

  • método choice del módulo random,
    que devuelve un elemento aleatorio de una secuencia
  • método random del módulo random,
    que devuelve un número pseudoaleatorio