Heim >Backend-Entwicklung >Python-Tutorial >Wie generiert man in Python eindeutige Zufallszahlen innerhalb eines Bereichs?

Wie generiert man in Python eindeutige Zufallszahlen innerhalb eines Bereichs?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-26 10:13:09264Durchsuche

How to Generate Unique Random Numbers Within a Range in Python?

Eindeutige Zufallszahlen innerhalb eines Bereichs generieren

Das Generieren einer Zufallszahl innerhalb eines Bereichs in Python mithilfe von random.randint() ist eine häufige Aufgabe , ebenso wie das Erstellen einer Liste mit n solchen Zahlen. Wenn jedoch jede Zahl in der Liste eindeutig sein muss, ist ein ausgefeilterer Ansatz erforderlich.

Während die Verwendung von bedingten Anweisungen zur Überprüfung auf Duplikate eine Option ist, gibt es eine einfachere und effizientere Lösung. Mit der Funktion random.sample() kann eine ersatzlose Stichprobe durchgeführt werden. Diese Funktion nimmt eine Grundgesamtheit und eine Stichprobengröße k und gibt k zufällige und eindeutige Mitglieder der Grundgesamtheit zurück.

import random

population = range(1, 100)
unique_random_numbers = random.sample(population, 3)
print(unique_random_numbers)  # Output: [77, 52, 45]

Wenn k die Länge der Grundgesamtheit überschreitet, wird ein ValueError ausgelöst. Um diesen Fall ordnungsgemäß zu behandeln, können Sie die Ausnahme abfangen und entsprechend behandeln.

try:
    random.sample(range(1, 2), 3)
except ValueError:
    print('Sample size exceeded population size.')

Durch die Verwendung von random.sample() können Sie mühelos einen Satz eindeutiger Zufallszahlen innerhalb eines angegebenen Bereichs generieren und so das eliminieren Notwendigkeit komplexer bedingter Prüfungen.

Das obige ist der detaillierte Inhalt vonWie generiert man in Python eindeutige Zufallszahlen innerhalb eines Bereichs?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn