Metoda sample e modulit random
Metoda sample e modulit random
kthen një përzgjedhje të rastësishme të elementeve nga
një sekuencë. Në parametrin e parë
të metodës specifikojmë sekuencën, në
parametrin e dytë - numrin e elementeve,
që duam të zgjedhim në mënyrë të rastësishme.
Në parametrin e tretë opcional të emërtuar
k mund të vendosim një listë
të elementeve për përsëritje. Kjo lejon
rritjen e probabilitetit të përzgjedhjes së elementeve
të caktuar. Vini re se
parametri i tretë i metodës është shtuar vetëm
duke filluar nga versioni Python 3.9.
Sintaksa
import random
random.sample(sekuenca, numri i elementeve, [k=përsëritje])
Shembull
Le të marrim tre elementë të rastësishëm nga lista:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
Rezultati i ekzekutimit të kodit:
[2, 1, 5]
Shembull
Le të provojmë gjithashtu të marrim një përzgjedhje të elementeve të rastësishëm nga tuple:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
Rezultati i ekzekutimit të kodit:
[3, 2]
Shembull
Gjithashtu mund të zgjidhni elementë nga
sekuenca që gjenerohet nga
funksioni range:
print(random.sample(range(0, 10), 3))
Rezultati i ekzekutimit të kodit:
[0, 8, 9]
Shembull
Tani le të marrim një listë dhe me ndihmën
e parametrit counts të caktojmë përsëritjet
për çdo element nga lista. Në rastin tonë,
le të përsëritet elementi i parë
dy herë, i dyti - tre, dhe i treti - katër
herë. Gjithashtu është e nevojshme të specifikohet emri i parametrit
k për nxjerrjen e numrit të elementeve:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
Ky kod është ekuivalent me këtë:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # në fakt një listë e tillë
print(random.sample(lst, 3))
Shembull
Tani le të provojmë të marrim elementë nga një set:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Do të kthehet gabimi i mëposhtëm:
[5, 2]
DeprecationWarning: Marrja e mostrës nga një set është e depratuar
që nga Python 3.9 dhe do të hiqet në një version të mëvonshëm.
print(random.sample(st, 2))
Kjo lidhet me faktin se nga versioni Python
3.9 nuk parashikohet mundësia
e marrjes së mostrës nga një set.