我不确定你在追求什么,但这里有一个尝试:import random as rn
x = range(3)*2 #generate a list where each number appears twice
rn.shuffle(x) #shuffle it
x.pop() #remove one number
结果:
^{pr2}$
编辑:
这里是一个非常大的n的尝试(这个n的大小的列表不能存储在您的ram中)。我不知道如何洗牌整数。不过,我可以随意删除一个。假设您要将列表写入txt文件。在drop = rn.range(0,n) #choose a random integer to drop
with open('my_file.txt','w') as f:
for ind,ele in enumerate(xrange(n)):
if ind == drop: #do not write the element to txt file
pass
else:
f.write(str(ele) + '\n') #write every except for one element to txt file
with open('my_file.txt','a') as f:
for ele in xrange(n):
f.write(str(ele) + '\n') # write every element to txt file
最后我们将n-1个元素写入txt文件两次,一次写入一个元素,这个元素是随机选择的。在
对于n=5,txt文件如下所示:0
2
3
4
0
1
2
3
4
在上面的情况下,1只显示一次,每隔一个数字显示两次。在