Методот sample на модулот random

Методот sample на модулот random враќа случаен избор на елементи од низа. Во првиот параметар на методот ја означуваме низата, во вториот параметар - бројот на елементи, кои сакаме да ги избереме по случаен избор.

Во третиот незадолжителен именуван параметар k можеме да поставиме листа на елементи за повторување. Ова овозможува да се зголеми веројатноста за избор на дадени елементи. Обрнете внимание на тоа дека третиот параметар на методот е додаден само почнувајќи од верзијата Python 3.9.

Синтакса

pythonimport random

random.sample(низа, број на елементи, [k=повторување])

Пример

Ајде да добиеме случајни три елементи од листата:

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

Резултат од извршувањето на кодот:

python[2, 1, 5]

Пример

Ајде да пробаме да земеме избор на случајни елементи од торка:

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

Резултат од извршувањето на кодот:

python[3, 2]

Пример

Исто така може да се изберат елементи од низата што ја генерира функцијата range:

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

Резултат од извршувањето на кодот:

python[0, 8, 9]

Пример

Сега ајде да земеме листа и со помош на параметарот counts да доделиме повторувања за секој елемент од листата. Во нашиот случај, нека првиот елемент се повтори два пати, вториот - три, а третиот - четири пати. Исто така неопходно е да се означи името на параметарот k за изведување на бројот на елементи:

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

Овој код е еквивалентен на следниов:

pythonlst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # всушност таква листа
print(random.sample(lst, 3))

Пример

Сега ајде да пробаме да земеме елементи од множество:

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

Ќе ни се врати следнава грешка:

error[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 не е предвидена можност за земање избор од множество.

Погледнете ги и

  • методот choice на модулот random,
    кој враќа случаен елемент од низа
  • методот random на модулот random,
    кој враќа псевдо-случаен број