Mooduli random meetod sample

Mooduli random meetod sample tagastab juhusliku elementide valimi järjestusest. Meetodi esimeses parameetris määrame järjestuse, teises parameetris - elementide arvu, mida tahame juhuslikult valida.

Kolmandas valikulises nimetatud parameetris k saame määrata elementide loendi kordamiseks. See võimaldab suurendada määratud elementide valimise tõenäosust. Pange tähele, et meetodi kolmas parameeter on lisatud alates Pythoni versioonist 3.9.

Süntaks

pythonimport random

random.sample(järjestus, elementide_arv, [k=kordus])

Näide

Võtame juhuslikud kolm elementi loendist:

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

Koodi täitmise tulemus:

python[2, 1, 5]

Näide

Proovime ka võtta juhuslike elementide valimi ennistist:

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

Koodi täitmise tulemus:

python[3, 2]

Näide

Samuti on võimalik valida elemente järjestusest, mida genereerib funktsioon range:

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

Koodi täitmise tulemus:

python[0, 8, 9]

Näide

Nüüd võtame loendi ja kasutame parameetrit counts, et määrata kordused iga loendi elemendi jaoks. Meie juhul, las esimene element kordub kaks korda, teine - kolm, ja kolmas - neli korda. Samuti on vaja määrata parameetri k nimi elementide arvu väljastamiseks:

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

See kood on samaväärne järgnevaga:

pythonlst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # tegelikult selline loend
print(random.sample(lst, 3))

Näide

Nüüd proovime võtta elemente hulgast:

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

Tagastatakse järgmine viga:

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))

See on seotud sellega, et alates Pythoni versioonist 3.9 ei ole ette nähtud võimalust võtta valimit hulgast.

Vaata ka

  • mooduli random meetod choice,
    mis tagastab juhusliku elemendi järjestusest
  • mooduli random meetod random,
    mis tagastab pseudojuhusliku arvu