Mélanger aléatoirement les éléments d'un dictionnaire sous python

Published: 01 septembre 2014

DMCA.com Protection Status

Par défaut avec python les dictionnaires ne sont pas ordonnés. Cependant, il est intéressant de savoir comment mélanger aléatoirement les clés/valeurs d'un dictionnaire (pour pouvoir par exemple afficher les clés/valeurs du dictionnaire dans un ordre aléatoire). Exemple:

>>> import random
>>> import collections
>>> d = {'a':1,'b':2,'c':3,'d':4}
>>> d
{'a': 1, 'c': 3, 'b': 2, 'd': 4}
>>> items = d.items()
>>> type(d)
<type 'dict'>
>>> type(items)
<type 'list'>
>>> random.shuffle(items)
>>> items
[('c', 3), ('b', 2), ('d', 4), ('a', 1)]
>>> d = collections.OrderedDict(items)
>>> d
OrderedDict([('c', 3), ('b', 2), ('d', 4), ('a', 1)])
>>> for key, value in d.iteritems():
...     print key,value
... 
c 3
b 2
d 4
a 1

Recherches associées