因此问题如下:simpleSHuffle(D)用作元素的输入列表。 Ith应该逐步浏览列表,在每一点上将当前元素与从列表其余部分(包括当前元素)中随机选择的元素进行交换。换句话说,如果我们正在考虑aten元素列表的第三个元素,则在3到9之间(包括3和9)选择一个索引,并在前进到列表的第四个元素之前重复list [0]与list [0]并重复处理。请注意,您将需要使用randint()函数,该函数已从文件顶部的random模块为您导入
def simpleShuffle(D):
n=len(D)-1
for i in range(n):
r=randin(i,n)
temp=D[r]
D[r]=D[i]
D[i]=temp
return D
以上是我得到的。还有其他方法吗?有什么改进吗?
答案 0 :(得分:2)
random.shuffle
应该会为您带来想要的东西
>>> from random import shuffle
>>> a = [1,2,3,4]
>>> shuffle(a)
>>> a
[4, 2, 1, 3]
请注意,shuffle
将按顺序重新整理序列,并且不返回任何内容。