“Python generator liczb losowych bez duplikatów” Kod odpowiedzi

Wygeneruj listę losowych liczb nie powtarzanych

#This will return a list of 50 numbers selected from the range 0 to 999, without duplicates.
import random
random.sample(range(1000), 50)
Alien0w0

Python generator liczb losowych bez duplikatów

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))))]
Enthusiastic Eagle

Python generator liczb losowych bez duplikatów

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

Odpowiedzi podobne do “Python generator liczb losowych bez duplikatów”

Pytania podobne do “Python generator liczb losowych bez duplikatów”

Więcej pokrewnych odpowiedzi na “Python generator liczb losowych bez duplikatów” w Python

Przeglądaj popularne odpowiedzi na kod według języka

Przeglądaj inne języki kodu