python – 生成列表的随机紊乱

如何随机洗牌以使所有元素都不在其原始位置?

换句话说,给定具有不同元素的列表A,我想生成它的排列B,以便它

>这种排列是随机的
>和每个n,a [n]!= b [n]

例如

a = [1,2,3,4]
b = [4,1,2,3] # good
b = [4,2,1,3] # good

a = [1,2,3,4]
x = [2,4,3,1] # bad

我不知道这种排列的正确术语(它是“总”吗?)因此很难用谷歌搜索.正确的术语似乎是“紊乱”.

解决方法:

这种排列称为紊乱.在实践中,您可以尝试随机排列直到达到紊乱,当’n’增长时,它们的比率接近’e’的倒数.

上一篇:js异步加载的三种解决方案


下一篇:PAT A1067 Sort with Swap(0, i) (25 分)