60 of 151 menu

Metoda sample modułu random

Metoda sample modułu random zwraca losową próbkę elementów z sekwencji. W pierwszym parametrze metody wskazujemy sekwencję, w drugim parametrze - liczbę elementów, które chcemy wybrać losowo.

W trzecim opcjonalnym parametrze nazwanym k możemy ustawić listę elementów do powtórzenia. To pozwala zwiększyć prawdopodobieństwo wyboru określonych elementów. Zwróć uwagę na to, że trzeci parametr metody został dodany dopiero od wersji Python 3.9.

Składnia

import random random.sample(sekwencja, liczba elementów, [k=powtórzenie])

Przykład

Pobierzmy losowe trzy elementy z listy:

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

Wynik wykonania kodu:

[2, 1, 5]

Przykład

Spróbujmy również pobrać próbkę losowych elementów z krotki:

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

Wynik wykonania kodu:

[3, 2]

Przykład

Można również wybierać elementy z sekwencji, którą generuje funkcja range:

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

Wynik wykonania kodu:

[0, 8, 9]

Przykład

Teraz weźmy listę i za pomocą parametru counts przypiszmy powtórzenia dla każdego elementu z listy. W naszym przypadku, niech pierwszy element powtórzy się dwa razy, drugi - trzy, a trzeci - cztery razy. Konieczne jest również wskazanie nazwy parametru k dla wypisania liczby elementów:

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

Ten kod jest równoważny następującemu:

lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # faktycznie taka lista print(random.sample(lst, 3))

Przykład

Teraz spróbujmy pobrać elementy ze zbioru:

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

Zostanie zwrócony następujący błąd:

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

Jest to związane z tym, że od wersji Python 3.9 nie ma możliwości pobierania próbki ze zbioru.

Zobacz też

  • metoda choice modułu random,
    która zwraca losowy element z sekwencji
  • metoda random modułu random,
    która zwraca liczbę pseudolosową
Polski
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wykorzystujemy pliki cookie do działania strony, analizy i personalizacji. Przetwarzanie danych odbywa się zgodnie z Polityką prywatności.
zaakceptuj wszystkie dostosuj odrzuć