Metoden sample fra random-modulet

Metoden sample fra modulet random returnerer et tilfældigt udvalg af elementer fra en sekvens. I den første parameter for metoden angiver vi sekvensen, i den anden parameter - antallet af elementer, som vi ønsker at vælge tilfældigt.

I den tredje valgfrie navngivne parameter k kan vi angive en liste af elementer til gentagelse. Dette giver mulighed for at forøge sandsynligheden for udvalg af specificerede elementer. Bemærk at den tredje parameter for metoden kun er tilføjet startende fra version Python 3.9.

Syntaks

pythonimport random

random.sample(sekvens, antal elementer, [k=gentagelser])

Eksempel

Lad os få tre tilfældige elementer fra en liste:

pythonlst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))

Resultat af kodeudførelse:

python[2, 1, 5]

Eksempel

Lad os også prøve at tage et udvalg af tilfældige elementer fra en tuple:

pythontpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))

Resultat af kodeudførelse:

python[3, 2]

Eksempel

Det er også muligt at vælge elementer fra en sekvens, som genereres af funktionen range:

pythonprint(random.sample(range(0, 10), 3))

Resultat af kodeudførelse:

python[0, 8, 9]

Eksempel

Lad os nu tage en liste og ved hjælp af parameteren counts tildele gentagelser for hvert element i listen. I vores tilfælde, lad det første element gentages to gange, det andet - tre, og det tredje - fire gange. Det er også nødvendigt at angive parameternavnet k for at udskrive antallet af elementer:

pythonlst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))

Denne kode svarer til følgende:

pythonlst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # faktisk sådan en liste
print(random.sample(lst, 3))

Eksempel

Lad os nu prøve at tage elementer fra et sæt:

pythonst = {1, 2, 3, 4, 5}
print(random.sample(st, 2))

Følgende fejl vil blive returneret:

error[5, 2]
DeprecationWarning: Sampling from a set deprecated
since Python 3.9 and will be removed in a subsequent version.
print(random.sample(st, 2))

Dette skyldes, at fra version Python 3.9 er det ikke muligt at tage et udvalg fra et sæt.

Se også

  • metoden choice fra modulet random,
    som returnerer et tilfældigt element fra en sekvens
  • metoden random fra modulet random,
    som returnerer et pseudotilfældigt tal