Eindeutige Zufallszahlengenerierung innerhalb eines Bereichs
Angesichts der Möglichkeit, mithilfe von random.randint eine Zufallszahl innerhalb eines Bereichs zu generieren, stellt sich die Aufgabe eine Liste einzigartiger Zufallszahlen zu erstellen. Während iterative bedingte Anweisungen als Lösung dienen können, gibt es einen eleganteren Ansatz, um dieses Ergebnis effizient zu erreichen.
Zufallsstichprobe
Das Zufallsmodul von Python stellt eine Funktion speziell mit dem Namen „sample“ bereit für die ersatzlose Probenahme konzipiert. Diese Funktion verwendet eine Grundgesamtheit (z. B. eine Liste von Zahlen) und eine Stichprobengröße als Argumente und gibt eine Liste zufällig ausgewählter eindeutiger Elemente aus der Grundgesamtheit zurück.
Zum Beispiel, um eine Liste von 3 eindeutigen Zufallszahlen zu generieren Innerhalb des Bereichs [1, 100] kann man den folgenden Code verwenden:
import random population = range(1, 100) # Initialize the population sample_size = 3 # Set the sample size random_sample = random.sample(population, sample_size)
random_sample enthält nun eine Liste von 3 eindeutigen Zufallszahlen innerhalb des angegebenen Bereichs Bereich.
Umgang mit Größendiskrepanzen
Es ist wichtig zu beachten, dass die Stichprobe einen ValueError auslöst, wenn die Stichprobengröße die Grundgesamtheitsgröße überschreitet. Um dieses Szenario zu bewältigen, kann man einen Try-Except-Block verwenden, um die Ausnahme abzufangen und entsprechend zu behandeln.
Um beispielsweise zu versuchen, eine Stichprobe der Größe 3 aus einer Grundgesamtheit der Größe 2 zu generieren, kann man Folgendes schreiben Folgender Code:
try: random.sample(range(1, 2), 3) except ValueError: print('Sample size exceeded population size.')
Wenn die Stichprobengröße größer als die Grundgesamtheit ist, gibt dieser Code eine informative Meldung aus und stürzt nicht ab.
Das obige ist der detaillierte Inhalt vonWie kann ich in Python eine Liste eindeutiger Zufallszahlen innerhalb eines Bereichs generieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!