60 of 151 menu

Metoda sample modulu random

Metoda sample modulu random vrací náhodný výběr prvků ze sekvence. V prvním parametru metody určujeme sekvenci, ve druhém parametru - počet prvků, které chceme vybrat náhodně.

Ve třetím volitelném pojmenovaném parametru k můžeme nastavit seznam prvků pro opakování. To umožňuje zvýšit pravděpodobnost výběru daných prvků. Všimněte si, že třetí parametr metody byl přidán pouze od verze Python 3.9.

Syntaxe

import random random.sample(sekvence, počet prvků, [k=opakování])

Příklad

Získejme náhodné tři prvky z seznamu:

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

Výsledek provedení kódu:

[2, 1, 5]

Příklad

Zkusme také vzít výběr náhodných prvků z n-tice:

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

Výsledek provedení kódu:

[3, 2]

Příklad

Také lze vybírat prvky z sekvence, kterou generuje funkce range:

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

Výsledek provedení kódu:

[0, 8, 9]

Příklad

Nyní vezměme seznam a pomocí parametru counts přiřaďme opakování pro každý prvek ze seznamu. V našem případě nechť se první prvek opakuje dvakrát, druhý - třikrát, a třetí - čtyři krát. Také je nutné určit jméno parametru k pro výpis počtu prvků:

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

Tento kód je ekvivalentní následujícímu:

lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # fakticky takový seznam print(random.sample(lst, 3))

Příklad

Nyní zkusme vzít prvky z množiny:

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

Vrátí se nám následující chyba:

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

To je způsobeno tím, že od verze Python 3.9 není poskytována možnost brát výběr z množiny.

Viz také

  • metoda choice modulu random,
    která vrací náhodný prvek ze sekvence
  • metoda random modulu random,
    která vrací pseudonáhodné číslo
Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout