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).
from random import shuffle
list1 = [1,2,3,4,5]
shuffle(list1)
print list1
---> [3, 1, 2, 4, 5]
Utilisation random.shuffle
:
>>> import random
>>> l = [1,2,3,4]
>>> random.shuffle(l)
>>> l
[3, 2, 4, 1]
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 ().
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]