python - 随机字典排序

标签 python python-2.7 random dictionary

我一直在思考这个问题,但我没有得出任何结论(Python 还不是很好)。

我的字典是这样的:

{1:[狗,动物],2:[方形,形状],3:[红色,颜色]}

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

3
red
color
1
dog
animal
2
square
shape

我知道列表对于这种情况会更理想,但此数据来 self 无法更改的现有结构。也许重新编号键可以解决问题?

最佳答案

字典已经以任意顺序列出,它们没有固定顺序。参见 Why is the order in dictionaries and sets arbitrary?任何顺序感都是巧合,取决于字典的插入和删除历史。

也就是说,使用 random.shuffle() 进一步确保随机列表非常容易:

import random

items = yourdict.items()
random.shuffle(items)

for key, value in items:
    print key
    print '\n'.join(value)

关于python - 随机字典排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23877419/

相关文章:

c# - 如何从函数返回值以在每一行用新结果顺序调用它

c# - 为什么随机数和正确猜测之间有很强的相关性?

php - 哪些框架代表了不同于 MVC 的范例?

python - 有狮身人面像报告断开的链接

python - 如何指定变量作为 re.sub 中的第一个参数

python - 在长时间运行的任务中终止 QThread 和 multiprocessing.pool 进程

python - 使用 anaconda scipy 对角化大型矩阵时出错

python - 分多个步骤填写列表

python - 抛出异常 SerialException : device reports readiness to read but returned no data

c++ - 设置随机获取项目的机会(C++)?