Metoda sample modula random
Metoda sample modula random
vrne naključni vzorec elementov iz
zaporedja. V prvem parametru
metode določimo zaporedje, v
drugem parametru - število elementov,
ki jih želimo izbrati naključno.
V tretjem neobveznem poimenovanem
parametru k lahko določimo seznam
elementov za ponovitev. To omogoča
povečanje verjetnosti vzorčenja določenih
elementov. Upoštevajte, da je
tretji parameter metode dodan šele
od različice Python 3.9.
Sintaksa
import random
random.sample(zaporedje, število elementov, [k=ponovitev])
Primer
Vzemimo naključne tri elemente iz seznama:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
Rezultat izvajanja kode:
[2, 1, 5]
Primer
Poskusimo tudi vzeti vzorec naključnih elementov iz terke:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
Rezultat izvajanja kode:
[3, 2]
Primer
Prav tako je mogoče izbirati elemente iz
zaporedja, ki ga generira
funkcija range:
print(random.sample(range(0, 10), 3))
Rezultat izvajanja kode:
[0, 8, 9]
Primer
Vzemimo sedaj seznam in s pomočjo
parametra counts določimo ponovitve
za vsak element iz seznama. V našem
primeru, naj se prvi element ponovi
dvakrat, drugi - trikrat, tretji pa - štiri
krat. Prav tako je potrebno določiti ime parametra
k za izpis števila elementov:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
Ta koda je enakovredna naslednji:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # dejansko takšen seznam
print(random.sample(lst, 3))
Primer
Poskusimo sedaj vzeti elemente iz množice:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Vrnila se nam bo naslednja napaka:
[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))
To je povezano z dejstvom, da od različice Python
3.9 ni več možnosti
jemanja vzorcev iz množice.