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

pythonimport random

random.sample(yzly_yzyd, element_sany, [k=gaýtalama])

Mysal

Sanawdan tesadufy üç element alyň:

pythonlst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))

Kody ýerine ýetirmegiň netijesi:

python[2, 1, 5]

Mysal

Kortejdan hem tesadufy elementleri saýlamaga synanyşalyň:

pythontpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))

Kody ýerine ýetirmegiň netijesi:

python[3, 2]

Mysal

range funksiýasynyň döredýän yzly-ýyzdan hem elementleri saýlap bolýar:

pythonprint(random.sample(range(0, 10), 3))

Kody ýerine ýetirmegiň netijesi:

python[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:

pythonlst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))

Bu kod aşakdaky koda deňdir:

pythonlst = [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:

pythonst = {1, 2, 3, 4, 5}
print(random.sample(st, 2))

Bizä şeýle bir ýalňyşlyk gaýdylar:

error[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.

Şeýle-de görüň

  • choice metodu random modulynyň,
    yzly-ýyzdan tesadufy element gaýdýar
  • random metodu random modulynyň,
    ýalan-tesadufy san gaýdýar