Ваш вопрос не имеет смысла в строгом смысле - словарь представляет собой отображение из набора ключей в набора значений.Таким образом, у них нет порядка, поскольку у наборов нет порядка.Порядок, который вы видите при печати словаря, является «случайным» и не заслуживающим доверия.Вы можете увидеть случайность в действии, когда вы используете флаг -R
с современным Python:
$ python -R -c 'print dict(foo=10, bar=20, baz=30)'
{'baz': 30, 'foo': 10, 'bar': 20}
$ python -R -c 'print dict(foo=10, bar=20, baz=30)'
{'foo': 10, 'baz': 30, 'bar': 20}
Вместо словаря, я думаю, вам нужен список, так как у этой структуры данных есть порядок.Если вы начинаете с dict
, то используйте
items = test.items()
random.shuffle(items)
, чтобы получить список перемешанных пар (key, value)
.Вы можете передать их в OrderedDict
, и это даст вам словарь, в котором ключи имеют порядок, связанный с ними.