60 of 151 menu

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

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

У трећем опционалном именованом параметру k можемо задати листу елемената за понављање. Ово омогућава повећање вероватноће избора задатих елемената. Обратите пажњу на то да је трећи параметар методе додат тек почев од верзије Пајтона 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))

Ово је повезано са тим што од верзије Пајтона 3.9 није предвиђена могућност узимања узорка из скупа.

Види такође

  • метод choice модула random,
    који враћа случајан елемент из секвенце
  • метод random модула random,
    који враћа псеудослучајан број
Српски
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Користимо колачиће за рад сајта, аналитику и персонализацију. Обрада података се врши у складу са Политиком приватности.
прихвати све подеси одбиј