Методот sample на модулот random
Методот sample на модулот random
враќа случаен избор на елементи од
низа. Во првиот параметар
на методот ја означуваме низата, во
вториот параметар - бројот на елементи,
кои сакаме да ги избереме по случаен избор.
Во третиот незадолжителен именуван
параметар k можеме да поставиме листа
на елементи за повторување. Ова овозможува
да се зголеми веројатноста за избор на дадени
елементи. Обрнете внимание на тоа дека
третиот параметар на методот е додаден само
почнувајќи од верзијата Python 3.9.
Синтакса
import random
random.sample(низа, број на елементи, [k=повторување])
Пример
Ајде да добиеме случајни три елементи од листата:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
Резултат од извршувањето на кодот:
[2, 1, 5]
Пример
Ајде да пробаме да земеме избор на случајни елементи од торка:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
Резултат од извршувањето на кодот:
[3, 2]
Пример
Исто така може да се изберат елементи од
низата што ја генерира
функцијата range:
print(random.sample(range(0, 10), 3))
Резултат од извршувањето на кодот:
[0, 8, 9]
Пример
Сега ајде да земеме листа и со помош
на параметарот counts да доделиме повторувања
за секој елемент од листата. Во нашиот
случај, нека првиот елемент се повтори
два пати, вториот - три, а третиот - четири
пати. Исто така неопходно е да се означи името на параметарот
k за изведување на бројот на елементи:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
Овој код е еквивалентен на следниов:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # всушност таква листа
print(random.sample(lst, 3))
Пример
Сега ајде да пробаме да земеме елементи од множество:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Ќе ни се врати следнава грешка:
[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))
Ова е поврзано со фактот што од верзијата Python
3.9 не е предвидена можност
за земање избор од множество.