60 of 151 menu

Metóda sample modulu random

Metóda sample modulu random vracia náhodný výber prvkov z postupnosti. V prvom parametri metódy uvádzame postupnosť, v druhom parametri - počet prvkov, ktoré chceme vybrať náhodne.

V treťom voliteľnom menovanom parametri k môžeme zadať zoznam prvkov pre opakovanie. To umožňuje zvýšiť pravdepodobnosť výberu zadaných prvkov. Dávajte pozor na to, že tretí parameter metódy bol pridaný až od verzie Python 3.9.

Syntax

import random random.sample(postupnosť, počet prvkov, [k=opakovanie])

Príklad

Zoberme si náhodné tri prvky z zoznamu:

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

Výsledok vykonania kódu:

[2, 1, 5]

Príklad

Skúsme tiež vziať výber náhodných prvkov z n-tice:

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

Výsledok vykonania kódu:

[3, 2]

Príklad

Tiež je možné vyberať prvky z postupnosti, ktorú generuje funkcia range:

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

Výsledok vykonania kódu:

[0, 8, 9]

Príklad

Teraz zoberme zoznam a pomocou parametra counts priraďme opakovania pre každý prvok zo zoznamu. V našom prípade, nech sa prvý prvok zopakuje dva krát, druhý - tri, a tretí - štyri krát. Tiež je potrebné zadať meno parametra k pre výpis počtu prvkov:

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

Tento kód je ekvivalentný nasledujúcemu:

lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # fakticky takýto zoznam print(random.sample(lst, 3))

Príklad

Teraz skúsme vziať prvky z množiny:

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

Dostaneme nasledujúcu chybu:

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

Je to spôsobené tým, že od verzie Python 3.9 nie je poskytovaná možnosť brať výber z množiny.

Pozri tiež

  • metóda choice modulu random,
    ktorá vracia náhodný prvok z postupnosti
  • metóda random modulu random,
    ktorá vracia pseudonáhodné číslo
Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť