我想生成 100k 随机数,这就是我想出的:
from random import randrange, seed
f=open("tree.in","w")
s=set()
seed(99)
for _ in xrange(1,10**5):
while True:
x=randrange(10**6)
if x not in s:
s.add(x)
break
for x in s:
f.write(str(x)+"\n")
f.close()
不幸的是,文件中的数字像这样聚集在一起:
524369
524372
786520
786523
786526
98
524387
106
108
111
786544
786549
我可以将它们添加到列表中并进行随机排序,但这会浪费空间。
有没有优雅的方法来解决这个问题?
(我不确定cygwin是否与这个问题有关)