Metodo shuffle del modulo random

Il metodo shuffle del modulo random mescola l'ordine degli elementi in una sequenza mutabile. Poiché una tupla è una sequenza immutabile, e gli elementi in un insieme non sono ordinati, risulta che il metodo funziona solo con le liste. Dopo l'esecuzione del metodo, la lista originale viene modificata, e il metodo stesso restituisce None. Nel parametro del metodo passiamo la lista desiderata.

Sintassi

pythonimport random

random.shuffle(lista)

Esempio

Mescoliamo gli elementi in una lista:

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

Risultato dell'esecuzione del codice:

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

Esempio

Ora proviamo a mescolare gli elementi di una tupla:

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

Otterremo il seguente errore:

errorTypeError: 'tuple' object does not support item assignment

Esempio

Proviamo anche a mescolare gli elementi di un insieme:

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

Dopo l'esecuzione del codice otterremo il seguente errore:

errorTypeError: 'set' object is not subscriptable

Vedi anche

  • metodo choice del modulo random,
    che restituisce un elemento casuale da una sequenza
  • metodo random del modulo random,
    che restituisce un numero pseudo-casuale