Random modulynyň sample metody
random modulynyň sample metodu
yzly-ýyzdan tesadufy elementleri saýlap berýär. Metodyň birinji parametrinde
yzly-ýyzy görkezýäris, ikinji parametrinde - biz tesadufy suratda saýlamak isleýän
elementleriň sany.
Üçünji hökmany däl atly parametr k-da
gaýtalama üçin elementleriň sanawyny belleýip bileris. Bu bellenen elementleriň
saýlanma ähtimalyny ýokarlandyrmaga mümkinçilik berýär. Üçünji parametriň diňe
Python-nuň 3.9 wersiýasyndan başlap goşulandygyna üns beriň.
Sintaksis
import random
random.sample(yzly_yzyd, element_sany, [k=gaýtalama])
Mysal
Sanawdan tesadufy üç element alyň:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
Kody ýerine ýetirmegiň netijesi:
[2, 1, 5]
Mysal
Kortejdan hem tesadufy elementleri saýlamaga synanyşalyň:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
Kody ýerine ýetirmegiň netijesi:
[3, 2]
Mysal
range funksiýasynyň döredýän yzly-ýyzdan hem elementleri saýlap bolýar:
print(random.sample(range(0, 10), 3))
Kody ýerine ýetirmegiň netijesi:
[0, 8, 9]
Mysal
Indi bir sanawy alyň we counts parametri arkaly
sanawyň her elementi üçin gaýtalamalary belleýeliň. Bizim ýagdaýymyzda, birinji element iki gezek, ikinji - üç, üçünji bolsa dört gezek gaýtalansyn. Şeýle hem elementleriň sanyny görkezmek üçin k parametriniň adyny görkezmeli:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
Bu kod aşakdaky koda deňdir:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # esasan şeýle bir sanaw
print(random.sample(lst, 3))
Mysal
Indi köpçülikden elementleri alyp görýäli:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Bizä şeýle bir ýalňyşlyk gaýdylar:
[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))
Bu Python-nuň 3.9 wersiýasyndan başlap köpçülikden saýlama alyp bolmaýandygyna bagly.