A dict
- неупорядоченный набор пар ключ-значение. Когда вы выполняете итерацию dict
, она фактически случайна. Но чтобы явно рандомизировать последовательность пар ключ-значение, вам нужно работать с другим упорядоченным объектом, например списком. dict.items()
, dict.keys()
И dict.values()
каждый возвратные списки, которые могут быть перемешаны.
items=d.items() # List of tuples
random.shuffle(items)
for key, value in items:
print key, value
keys=d.keys() # List of keys
random.shuffle(keys)
for key in keys:
print key, d[key]
Или, если вам не нужны ключи:
values=d.values() # List of values
random.shuffle(values) # Shuffles in-place
for value in values:
print value
Вы также можете «отсортировать по случайности»:
for key, value in sorted(d.items(), key=lambda x: random.random()):
print key, value