Moduļa random metode sample
Moduļa random metode sample
atgriež nejaušu elementu atlasi no
virknes. Metodes pirmajā parametrā
mēs norādām virkni, otrajā parametrā - elementu skaitu,
ko vēlamies atlasīt nejauši.
Trešajā neobligātajā nosauktajā
parametrā k varam norādīt sarakstu
ar elementiem atkārtošanai. Tas ļauj
palielināt noteiktu elementu atlases varbūtību. Ņemiet vērā, ka
metodes trešais parametrs pievienots tikai
sākot ar Python versiju 3.9.
Sintakse
import random
random.sample(virkne, elementu skaits, [k=atkārtojumi])
Piemērs
Iegūsim nejaušus trīs elementus no saraksta:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
Koda izpildes rezultāts:
[2, 1, 5]
Piemērs
Mēģināsim arī iegūt nejaušu elementu atlasi no korteža:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
Koda izpildes rezultāts:
[3, 2]
Piemērs
Var arī atlasīt elementus no
virknes, ko ģenerē
funkcija range:
print(random.sample(range(0, 10), 3))
Koda izpildes rezultāts:
[0, 8, 9]
Piemērs
Tagad paņemsim sarakstu un ar
parametra counts palīdzību piešķirsim atkārtojumus
katram saraksta elementam. Mūsu gadījumā, lai pirmais elements atkārtojas
divas reizes, otrais - trīs, bet trešais - četras
reizes. Arī jānorāda parametra nosaukums
k elementu skaita izvadei:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
Šis kods ir līdzvērtīgs šim:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # faktiski šāds saraksts
print(random.sample(lst, 3))
Piemērs
Tagad mēģināsim iegūt elementus no kopas:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Tiks atgriezta šāda kļūda:
[5, 2]
DeprecationWarning: Paraugu ņemšana no kopas ir novecojusi
sākot ar Python 3.9 un tiks noņemta nākamajā versijā.
print(random.sample(st, 2))
Tas ir saistīts ar faktu, ka sākot ar Python
versiju 3.9 nav paredzēta iespēja
veikt atlasi no kopas.