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))