Metod sample modula random
Metod sample modula random
vraća slučajni uzorak elemenata iz
sekvence. U prvom parametru
metoda navodimo sekvencu, u
drugom parametru - broj elemenata,
koje želimo da izaberemo nasumično.
U trećem opcionom imenovanom
parametru k možemo zadati listu
elemenata za ponavljanje. Ovo omogućava
da se poveća verovatnoća uzorkovanja zadatih
elemenata. Obratite pažnju da je
treći parametar metoda dodat tek
od verzije Python 3.9.
Sintaksa
import random
random.sample(sekvenca, broj elemenata, [k=ponavljanje])
Primer
Hajde da dobijemo nasumična tri elementa iz liste:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
Rezultat izvršavanja koda:
[2, 1, 5]
Primer
Hajde da takođe probamo da uzmemo uzorak nasumičnih elemenata iz tuple-a:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
Rezultat izvršavanja koda:
[3, 2]
Primer
Takođe je moguće birati elemente iz
sekvence koju generiše
funkcija range:
print(random.sample(range(0, 10), 3))
Rezultat izvršavanja koda:
[0, 8, 9]
Primer
Sada hajde da uzmemo listu i pomoću
parametra counts dodelimo ponavljanja
za svaki element iz liste. U našem
slučaju, neka se prvi element ponovi
dva puta, drugi - tri, a treći - četiri
puta. Takođe je neophodno navesti ime parametra
k za ispis broja elemenata:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
Ovaj kod je ekvivalentan sledećem:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # zapravo ovakva lista
print(random.sample(lst, 3))
Primer
Sada hajde da probamo da uzmemo elemente iz skupa:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Dobićemo sledeću grešku:
[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))
Ovo je povezano sa tim da od verzije Python
3.9 nije predviđena mogućnost
uzimanja uzorka iz skupa.