Método shuffle do módulo random

O método shuffle do módulo random embaralha a ordem dos elementos em uma sequência mutável. Como uma tupla é uma sequência imutável, e os elementos em um conjunto não são ordenados, conclui-se que o método funciona apenas com listas. Após a execução do método, a lista original é alterada, e o próprio método retorna None. No parâmetro do método, passamos a lista desejada.

Sintaxe

pythonimport random

random.shuffle(lista)

Exemplo

Vamos embaralhar os elementos em uma lista:

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

Resultado da execução do código:

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

Exemplo

Agora vamos tentar embaralhar os elementos de uma tupla:

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

O seguinte erro será retornado:

errorTypeError: 'tuple' object does not support item assignment

Exemplo

Vamos também tentar embaralhar os elementos de um conjunto:

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

Após executar o código, obteremos o seguinte erro:

errorTypeError: 'set' object is not subscriptable

Veja também

  • método choice do módulo random,
    que retorna um elemento aleatório de uma sequência
  • método random do módulo random,
    que retorna um número pseudoaleatório