web-dev-qa-db-fra.com

Randomisation d'une liste en Python

Je me demande s'il existe un bon moyen de "secouer" une liste d'éléments en Python. Par exemple [1,2,3,4,5] pourrait être secoué/randomisé en [3,1,4,2,5] (toute commande est également probable).

9
amrcsu
from random import shuffle

list1 = [1,2,3,4,5]
shuffle(list1)

print list1
---> [3, 1, 2, 4, 5]
33
roganjosh

Utilisation random.shuffle:

>>> import random
>>> l = [1,2,3,4]
>>> random.shuffle(l)
>>> l
[3, 2, 4, 1]

random.shuffle (x [ random])

Mélangez la séquence x en place. L'argument optionnel random est une fonction à 0 argument renvoyant un flottant aléatoire dans [0.0, 1.0); par défaut, c'est la fonction random ().

4
BigOther

random.shuffle ça!

In [8]: import random

In [9]: l = [1,2,3,4,5]

In [10]: random.shuffle(l)

In [11]: l
Out[11]: [5, 2, 3, 1, 4]
3
bakkal