60 of 151 menu

A sample metódus a random modulban

A sample metódus a random modulban véletlenszerű elemválogatást ad vissza egy sorozatból. A metódus első paraméterében a sorozatot adjuk meg, a második paraméterben pedig azon elemek számát, amelyeket véletlenszerűen szeretnénk kiválasztani.

A harmadik, opcionális névparaméterben, a k-ban megadhatjuk az elemek listáját az ismétléshez. Ez lehetővé teszi, hogy növeljük a megadott elemek kiválasztásának valószínűségét. Figyeljük meg, hogy a metódus harmadik paramétere csak a Python 3.9 verziójától kezdve érhető el.

Szintaxis

import random random.sample(sorozat, elemek_szama, [k=ismétlés])

Példa

Véletlenszerűen válasszunk ki három elemet a listából:

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

A kód végrehajtásának eredménye:

[2, 1, 5]

Példa

Próbáljunk meg véletlenszerű elemeket kiválasztani egy tuple-ból is:

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

A kód végrehajtásának eredménye:

[3, 2]

Példa

Elemeket választhatunk ki azokból a sorozatokból is, amelyeket a range függvény generál:

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

A kód végrehajtásának eredménye:

[0, 8, 9]

Példa

Most vegyünk egy listát, és a counts paraméter segítségével rendeljünk ismétlődéseket minden egyes listaelemhez. Esetünkben legyen az első elem ismétlése kétszer, a másodiké háromszor, a harmadiké pedig négyszer. Szükséges továbbá megadni a k paraméter nevét is a kimeneti elemek számához:

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

Ez a kód ekvivalens a következővel:

lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # gyakorlatilag ez a lista print(random.sample(lst, 3))

Példa

Most próbáljunk meg elemeket kiválasztani egy halmazból:

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

A következő hibaüzenetet kapjuk:

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

Ennek oka az, hogy a Python 3.9 verziójától kezdve nincs lehetőség válogatás készítésére halmazból.

Lásd még

  • a choice metódus a random modulban,
    amely egy véletlenszerű elemet ad vissza a sorozatból
  • a random metódus a random modulban,
    amely egy véletlen számot ad vissza
Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás