关于python:随机整理字典列表

Randomly shuffling a list of dictionaries

本问题已经有最佳答案,请猛点这里访问。

我在Stack Overflow上看到的一个类似的问题处理了一个列表的dict(是一个坏标题),当我尝试在每个答案的dict列表中使用random.shuffle时,它使整个对象成为一个非类型的对象。

我有一个这样的字典列表:

1
2
3
4
5
[
{'a':'1211', 'b':'1111121','c':'23423'},
{'a':'101', 'b':'2319','c':'03431'},
{'a':'3472', 'b':'38297','c':'13048132'}
]

我想像这样随机洗牌。

1
2
3
4
5
[
{'a':'3472', 'b':'38297','c':'13048132'},
{'a':'1211', 'b':'1111121','c':'23423'},
{'a':'101', 'b':'2319','c':'03431'}  
]

我该怎么做?


random.shuffle应该工作。我认为你认为它给了你一个非类型的对象是因为你做了类似的事情

1
x = random.shuffle(...)

但是random.shuffle没有返回任何内容,它在适当的位置修改了列表:

1
2
3
4
5
x = [{'a':'3472', 'b':'38297','c':'13048132'},
     {'a':'1211', 'b':'1111121','c':'23423'},
     {'a':'101', 'b':'2319','c':'03431'}]
random.shuffle(x)  # No assignment
print(x)