Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 随机字典排序_Python_Python 2.7_Random_Dictionary - Fatal编程技术网

Python 随机字典排序

Python 随机字典排序,python,python-2.7,random,dictionary,Python,Python 2.7,Random,Dictionary,我一直在仔细考虑这一点,但没有得出任何结论(Python还没有那么好) 我的字典是这样的: 3 red color 1 dog animal 2 square shape {1:[狗,动物],2:[正方形,形状],3:[红色,颜色]} 我正在打印值,但字典是按数字排序的,这很好,但我想随机化,所以我打印出如下内容: 3 red color 1 dog animal 2 square shape 我知道该列表更适合这种情况,但该数据来自现有结构,我无法更改。也许重新编号键就可以了?字典已经按任

我一直在仔细考虑这一点,但没有得出任何结论(Python还没有那么好)

我的字典是这样的:

3
red
color
1
dog
animal
2
square
shape
{1:[狗,动物],2:[正方形,形状],3:[红色,颜色]}

我正在打印值,但字典是按数字排序的,这很好,但我想随机化,所以我打印出如下内容:

3
red
color
1
dog
animal
2
square
shape
我知道该列表更适合这种情况,但该数据来自现有结构,我无法更改。也许重新编号键就可以了?

字典已经按任意顺序列出,它们没有固定的顺序。看,任何顺序感都是巧合,取决于词典的插入和删除历史

也就是说,使用
random.shuffle()
,可以很容易地进一步确保无序列表:


您可以随机化关键点:

import random
....
keys = dictionary.keys()
random.shuffle(keys)
for key in keys:
    print key, dictionary[key]

美好的您可以将os.linesep用于平台无关的行分隔符:)+1用于link@ReutSharabani:写入文本文件时,换行符已为您翻译。使用
print
时,您也不需要使用特定于平台的行分隔符。。。公平地说,任意性和随机性是不同的。我会做
keys=list(dictionary)
使其向前兼容。你能详细说明一下吗?python.org在关于
items()
的注释中使用了
keys()
,而在
keys()
本身中没有提到任何内容……在python3.x中,
keys
返回一个与
set
类似的对象。IIRC,它不支持
random.shuffle
所需的索引<代码>列表(d)提供了与python2.x中的
d.keys()相同的内容。