Die sample-Methode des random-Moduls
Die Methode sample des Moduls random
gibt eine zufällige Auswahl von Elementen aus
einer Sequenz zurück. Im ersten Parameter der
Methode geben wir die Sequenz an, im
zweiten Parameter - die Anzahl der Elemente,
die wir zufällig auswählen möchten.
Im dritten optionalen benannten Parameter
counts können wir eine Liste von
Elementen für Wiederholungen festlegen. Dies ermöglicht
es, die Wahrscheinlichkeit der Auswahl bestimmter
Elemente zu erhöhen. Bitte beachten Sie, dass
der dritte Parameter der Methode erst ab
Version Python 3.9 hinzugefügt wurde.
Syntax
import random
random.sample(Sequenz, Anzahl_der_Elemente, [counts=Wiederholungen])
Beispiel
Lassen Sie uns drei zufällige Elemente aus einer Liste abrufen:
lst = [1, 2, 3, 4, 5]
print(random.sample(lst, 3))
Ergebnis der Codeausführung:
[2, 1, 5]
Beispiel
Versuchen wir auch, eine Stichprobe zufälliger Elemente aus einem Tupel zu nehmen:
tpl = (1, 2, 3, 4, 5)
print(random.sample(tpl, 2))
Ergebnis der Codeausführung:
[3, 2]
Beispiel
Man kann auch Elemente aus einer
Sequenz auswählen, die von der
Funktion range generiert wird:
print(random.sample(range(0, 10), 3))
Ergebnis der Codeausführung:
[0, 8, 9]
Beispiel
Nehmen wir nun eine Liste und weisen mit Hilfe
des Parameters counts Wiederholungen
für jedes Element aus der Liste zu. In unserem
Fall soll das erste Element zweimal wiederholt werden,
das zweite - dreimal, und das dritte - viermal.
Es ist auch notwendig, den Parameternamen
k für die Ausgabe der Anzahl der Elemente anzugeben:
lst = [1, 2, 3]
print(random.sample(lst, counts=[2, 3, 4], k=3))
Dieser Code ist äquivalent zu Folgendem:
lst = [1, 1, 2, 2, 2, 3, 3, 3, 3] # praktisch diese Liste
print(random.sample(lst, 3))
Beispiel
Versuchen wir nun, Elemente aus einer Menge zu nehmen:
st = {1, 2, 3, 4, 5}
print(random.sample(st, 2))
Es wird folgender Fehler zurückgegeben:
[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))
Dies liegt daran, dass ab Version Python
3.9 die Möglichkeit,
Stichproben aus einer Menge zu entnehmen, nicht vorgesehen ist.