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
import random
random.sample(sekvens, antal elementer, [k=gentagelser])
Eksempel
Lad os få tre tilfældige elementer fra en liste:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
Resultat af kodeudførelse:
[2, 1, 5]
Eksempel
Lad os også prøve at tage et udvalg af tilfældige elementer fra en tuple:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
Resultat af kodeudførelse:
[3, 2]
Eksempel
Det er også muligt at vælge elementer fra
en sekvens, som genereres af
funktionen range:
print(random.sample(range(0, 10), 3))
Resultat af kodeudførelse:
[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:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
Denne kode svarer til følgende:
lst = [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:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Følgende fejl vil blive returneret:
[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.