Sådan bruges Python-modulet random
random -modulet tilbyder en række funktioner til generering af tilfældige tal i forskellige formater, lige fra heltal til flydende tal til udvælgelse af elementer fra lister.
Hvad er Pythons random-modul, og hvad kan det bruges til?
random -modulet random er et indbygget bibliotek, der giver dig mulighed for at generere tilfældige tal og udføre tilfældighedsbaserede operationer i dine programmer. Det indeholder forskellige funktioner til generering af pseudotilfældige tal, der kan bruges i mange applikationer, fra simulering til spiludvikling og kryptografiske opgaver.
Et vigtigt kendetegn ved tilfældighedsmodulet er dets evne til at levere reproducerbare resultater. Ved at fastlægge en startværdi eller seed kan processen med tilfældig generering reproduceres. Dette er en fordel ved test, eksperimenter og simuleringer, der kræver konsistente tilfældige data.
Hvad er funktionerne i random-modulet?
Python-modulet random indeholder forskellige metoder til generering og behandling af tilfældige tal. Følgende tabel giver et overblik over funktionerne og deres egenskaber:
| Funktionens navn | Forklaring |
|---|---|
seed(a=None, version=2)
|
Definerer startværdien (seed) for tilfældighedsgeneratoren |
getstate()
|
Returnerer den aktuelle tilstand for tilfældig talgeneratoren som et objekt |
setstate(state)
|
Nulstiller tilstanden for tilfældighedsgeneratoren ved hjælp af et tilstandsobjekt |
getrandbits(k)
|
Returnerer et heltal med k bits |
randrange(start, stop, step)
|
Opretter et tilfældigt heltal fra det angivne interval |
randint(a, b)
|
Returnerer et tilfældigt heltal i det angivne interval |
choice(seq)
|
Returnerer et tilfældigt element fra den givne sekvens |
choices(population, weights=None, *, cum_weights=None, k=1)
|
Opretter en liste med k tilfældigt udvalgte elementer fra populationen; det er valgfrit at angive sandsynlighederne |
sample(k, population)
|
Opretter en liste med k tilfældigt udvalgte elementer fra populationen, uden dubletter |
shuffle(x)
|
Blander elementerne i en liste i tilfældig rækkefølge. |
random()
|
Returnerer et tilfældigt flydende tal mellem 0 og 1 |
uniform(a, b)
|
Returnerer et tilfældigt flydende tal i det angivne interval, inklusive grænseværdierne |
triangular(low, high, mode)
|
Opretter et tilfældigt flydende tal i det trekantede fordelingsinterval. |
betavariate(alpha, beta)
|
Returnerer et tilfældigt flydende tal fra en betafordeling. |
expovariate(lambd)
|
Returnerer et tilfældigt flydende tal fra en eksponentiel fordeling. |
gammavariate(alpha, beta)
|
Opretter et tilfældigt flydende tal fra en gammafordeling. |
gauss(mu, sigma)
|
Returnerer et tilfældigt flydende tal fra en Gauss-fordeling. |
lognormvariate(mu, sigma)
|
Opretter et tilfældigt flydende tal fra en logaritmisk normalfordeling. |
normalvariate(mu, sigma)
|
Returnerer et tilfældigt flydende tal fra en normalfordeling. |
vonmisesvariate(mu, kappa)
|
Returnerer et tilfældigt flydende tal med en von Mises-fordeling eller cirkulær normalfordeling |
paretovariate(alpha)
|
Returnerer et tilfældigt flydende tal med en Pareto-fordeling. |
weibullvariate(alpha, beta)
|
Returnerer et tilfældigt flydende tal med en Weibull-fordeling |
Sådan vælges elementer tilfældigt fra en liste
Hvis du vil vælge flere tilfældige elementer fra en liste, kan du bruge funktionen choices(seq, k=n) fra Python-modulet random, hvor n er antallet af ønskede tilfældige elementer.
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)pythonI dette tilfælde bruger vi funktionen choices() til at vælge tre tilfældige elementer ud af my_list. Resultaterne returneres som en liste med tre tilfældige elementer.
Sådan blandes en liste
Funktionen shuffle() arrangerer Python-listeelementer i tilfældig rækkefølge.
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']pythonDu skal huske, at shuffle() ændrer selve listen og ikke returnerer en ny. Efter brug af shuffle() vil den oprindelige liste være i tilfældig rækkefølge.
Sådan indstilles en seed-værdi
Når du bruger random.seed() fra Python-modulet random til at indstille en bestemt seed-værdi, initialiserer det tilfældighedsgeneratoren til at generere tilfældige tal ved hjælp af denne seed. Hvis du senere indstiller den samme seed-værdi igen, vil det derfor resultere i, at der genereres en identisk sekvens af tilfældige tal i din applikation.
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)pythonNår seed-værdien er indstillet, genererer og udgiver den tilfældige tal. Hvis seed-værdien nulstilles til samme værdi, resulterer det i, at den samme sekvens af tilfældige tal produceres igen. I dette eksempel er seed-værdien 42. Så længe denne seed forbliver konstant, kan de tilfældige tal replikeres konsekvent. 2788414172193c7dda5bc74734d880d9