Hoe gebruik je de Python random-module?
De Python random -module biedt u een verscheidenheid aan functies voor het genereren van willekeurige getallen in verschillende formaten, variërend van gehele getallen tot drijvende-kommagetallen tot het selecteren van elementen uit lijsten.
Wat is de random-module van Python en waarvoor kan deze worden gebruikt?
De Python random -module random is een ingebouwde bibliotheek waarmee u willekeurige getallen kunt genereren en op willekeur gebaseerde bewerkingen kunt uitvoeren in uw programma’s. Deze bevat verschillende functies voor het genereren van pseudo-willekeurige getallen die in veel toepassingen kunnen worden gebruikt, van simulatie tot game-ontwikkeling en cryptografische taken.
Een belangrijk kenmerk van de random-module is dat deze reproduceerbare resultaten oplevert. Door een startwaarde of seed vast te stellen, kan het proces van willekeurige generatie worden gereproduceerd. Dit is gunstig voor tests, experimenten en simulaties waarvoor consistente willekeurige gegevens nodig zijn.
Wat zijn de functies in de random-module?
De Python-module random bevat verschillende methoden voor het genereren en verwerken van willekeurige getallen. De volgende tabel geeft een overzicht van de functies en hun eigenschappen:
| Naam van de functie | Uitleg |
|---|---|
seed(a=None, version=2)
|
Definieert de beginwaarde (seed) voor de random number generator |
getstate()
|
Geeft de huidige status van de random number generator weer als een object |
setstate(state)
|
Reset de status van de random number generator met behulp van een statusobject |
getrandbits(k)
|
Geeft een geheel getal met k bits terug |
randrange(start, stop, step)
|
Maakt een willekeurig geheel getal uit het opgegeven bereik |
randint(a, b)
|
Geeft een willekeurig geheel getal terug binnen het opgegeven bereik |
choice(seq)
|
Geeft een willekeurig element uit de opgegeven reeks terug |
choices(population, weights=None, *, cum_weights=None, k=1)
|
Maakt een lijst met k willekeurig geselecteerde elementen uit de populatie; optioneel om de waarschijnlijkheden te specificeren |
sample(k, population)
|
Maakt een lijst met k willekeurig geselecteerde elementen uit de populatie, zonder duplicaten |
shuffle(x)
|
Schudt de elementen in een lijst in willekeurige volgorde |
random()
|
Geeft een willekeurig drijvende-kommagetal tussen 0 en 1 terug |
uniform(a, b)
|
Geeft een willekeurig drijvende-kommagetal terug binnen het opgegeven bereik, inclusief de grenswaarden |
triangular(low, high, mode)
|
Maakt een willekeurig drijvende-kommagetal in het driehoekige distributiebereik |
betavariate(alpha, beta)
|
Geeft een willekeurig drijvende-kommagetal terug uit een bètaverdeling. |
expovariate(lambd)
|
Geeft een willekeurig drijvende-kommagetal terug uit een exponentiële verdeling. |
gammavariate(alpha, beta)
|
Maakt een willekeurig drijvende-kommagetal uit een gammaverdeling. |
gauss(mu, sigma)
|
Geeft een willekeurig drijvende-kommagetal terug uit een Gauss-verdeling. |
lognormvariate(mu, sigma)
|
Maakt een willekeurig drijvende-kommagetal op basis van een logaritmische normale verdeling. |
normalvariate(mu, sigma)
|
Geeft een willekeurig drijvende-kommagetal terug uit een normale verdeling. |
vonmisesvariate(mu, kappa)
|
Geeft een willekeurig drijvende-kommagetal terug met een von Mises-verdeling of circulaire normale verdeling. |
paretovariate(alpha)
|
Geeft een willekeurig drijvende-kommagetal met een Pareto-verdeling terug |
weibullvariate(alpha, beta)
|
Geeft een willekeurig drijvende-kommagetal terug met een Weibull-verdeling |
Hoe elementen willekeurig uit een lijst selecteren
Als u meerdere willekeurige elementen uit een lijst wilt selecteren, kunt u de functie choices(seq, k=n) uit de Python-module random gebruiken, waarbij n het aantal gewenste willekeurige elementen is.
import random
# A list of elements
my_list = ['Apple', 'Banana', 'Orange', 'Strawberry', 'Cherry']
# Randomly selecting an element from the list
random_elements = random.choices(my_list, k=3)
print("Randomly selected elements:", random_elements)pythonIn dit geval gebruiken we de functie choices() om drie willekeurige elementen uit my_list te selecteren. De resultaten worden teruggegeven als een lijst met drie willekeurige elementen.
Hoe een lijst schudden
De functie shuffle() rangschikt Python-lijstelementen in willekeurige volgorde.
import random
# A list of elements
my_list = ['Apple', 'Banana', 'Orange', 'Strawberry', 'Cherry']
# Shuffle the elements in the list
random.shuffle(my_list)
print("Shuffled list:", my_list) # Example Output: Shuffled list: ['Strawberry', 'Banana', 'Apple', 'Cherry', 'Orange']pythonHoud er rekening mee dat shuffle() de lijst zelf wijzigt en geen nieuwe lijst retourneert. Na gebruik van shuffle() staat de oorspronkelijke lijst in willekeurige volgorde.
Hoe een startwaarde instellen
Wanneer u random.seed() uit de Python random-module gebruikt om een specifieke seed-waarde in te stellen, initialiseert dit de random number generator om willekeurige getallen te genereren met behulp van deze seed. Als u later opnieuw dezelfde seed-waarde instelt, zal dit ertoe leiden dat er een identieke reeks willekeurige getallen wordt gegenereerd in uw applicatie.
import random
# Setting the seed value to 42
random.seed(42)
# Generating random numbers
print(random.random()) # Example output: 0.6394267984578837
print(random.random()) # Example output: 0.025010755222666936
# Resetting the seed value to 42
random.seed(42)
# Generating random numbers again
print(random.random()) # Example output: 0.6394267984578837 (identical to the previous value)
print(random.random()) # Example output: 0.025010755222666936 (identical to the previous value)pythonNadat de seedwaarde is ingesteld, genereert en produceert het willekeurige getallen. Als de seed opnieuw op dezelfde waarde wordt ingesteld, wordt dezelfde reeks willekeurige getallen opnieuw geproduceerd. In dit voorbeeld is de seedwaarde 42. Zolang deze seed constant blijft, kunnen de willekeurige getallen consistent worden gerepliceerd.