
python如何随机排列字典
用户关注问题
如何将字典的键值对打乱顺序?
我想对一个Python字典的键值对进行随机排列,有什么方法可以实现这个效果?
使用随机打乱键列表实现字典项随机排列
可以先获取字典的键列表,然后使用random.shuffle()函数对键列表进行随机打乱,最后根据新的键顺序获取对应的键值对。注意字典本身是无序的,但Python 3.7及以上版本中,字典保持插入顺序,用有序字典或重新创建字典即可达到随机排列的效果。
Python中如何创建一个按随机顺序排列的字典?
有办法在Python中生成一个键值对顺序随机的新字典吗?
通过列表随机排序再转换为字典
可以先把字典的items()转换成列表,然后对列表使用random.shuffle()进行乱序,最后将打乱顺序的列表转换回字典。这样得到的新字典在Python3.7+版本中是按该顺序存储的。
为什么直接调用random.shuffle()不能用于字典?
我尝试直接对字典使用random.shuffle(),但出现错误,原因是什么?
random.shuffle只支持可变序列如列表,不支持字典
random.shuffle()函数只能对可变的序列类型如列表进行操作,字典类型不支持该方法。如果需要随机排列,可以先将字典转换成列表或可变序列,操作后再生成字典。