废话不多说,上代码:
>>> import random
>>> def shuffle(l):
... tmp=list()
... for i in range(0,len(l)):
... if len(l)!=0:
... r=random.randint(0,len(l)-1)
... tmp.append(l[r])
... l.remove(l[r])
... else:
... break
... return tmp
结果:
>>> shuffle([1,2,3])
[3, 1, 2]
>>> shuffle([1,2,3])
[1, 3, 2]
>>> shuffle([1,2,3])
[1, 2, 3]
>>> shuffle([1,2,3])
[2, 1, 3]
>>> shuffle([1,2,3])
代码里使用了random.randint(a,b)函数,它的返回值n,a<=n<=b
random模块的shuffle函数功能:将列表中的元素打乱
>>> l=[1,2,3]
>>> random.shuffle(l)
>>> l
[1, 3, 2]
从例子可以看出来random模块的shuffle是在原列表上操作的,会修改原列表
和shuffle很像的一