python random sample no duplicates code example

Example 1: python random number generator no duplicates

import random

def random_sample(count, start, stop, step=1):
    def gen_random():
        while True:
            yield random.randrange(start, stop, step)

    def gen_n_unique(source, n):
        seen = set()
        seenadd = seen.add
        for i in (i for i in source() if i not in seen and not seenadd(i)):
            yield i
            if len(seen) == n:
                break

    return [i for i in gen_n_unique(gen_random,
                                    min(count, int(abs(stop - start) / abs(step))))]

Example 2: python random number generator no duplicates

python -c "import random; print(sorted(set([random.randint(6,49) for i in range(7)]))[:6])"