If you know in advance that you’re going to want to multiple samples without overlaps, easiest is to do random.shuffle()
on list(range(100))
(Python 3 – can skip the list()
in Python 2), then peel off slices as needed.
s = list(range(100))
random.shuffle(s)
first_sample = s[-10:]
del s[-10:]
second_sample = s[-10:]
del s[-10:]
# etc
Else @Chronial’s answer is reasonably efficient.