创建一个可以洗牌的功能

时间:2018-10-04 04:29:46

标签: python-3.x

因此问题如下: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

以上是我得到的。还有其他方法吗?有什么改进吗?

1 个答案:

答案 0 :(得分:2)

random.shuffle应该会为您带来想要的东西

>>> from random import shuffle
>>> a = [1,2,3,4]
>>> shuffle(a)
>>> a
[4, 2, 1, 3]

请注意,shuffle将按顺序重新整理序列,并且不返回任何内容。