Python 基础教程

Python 高级教程

Python 相关应用

Python 笔记

python 字典(dict)类型数据随机打乱顺序排序遍历

Python 笔记 Python 笔记


python 从 3.6 版本开始改写了 dict 的内部算法,字典数据是有顺序的,遍历时也按照插入的顺序迭代,那如何打乱字典已有的数据呢?

推荐方式

借助 python 标准库中的随机数库 random,其中提供了针对 list 的混乱排序的 shuffle 函数,具体示例如下:

import random


def random_dic(dicts):
    dict_key_ls = list(dicts.keys())
    random.shuffle(dict_key_ls)
    new_dict = {}
    for key in dict_key_ls:
        new_dict[key] = dicts.get(key)
    return new_dict


if __name__ == '__main__':
    demo_dict = {
        'google': 'android',
        'facebook': 'whatsapp',
        'microsoft': 'windows',
        'apple': 'mac',
    }
    print(demo_dict)
    print(random_dic(demo_dict))