A Python random modul számos funkciót kínál véletlenszerű számok generálásához különböző formátumokban, az egész számoktól a lebegőpontos számokig, valamint a listákból való elemkiválasztásig.

Mi az a Python random modul, és mire használható?

A Python random random modul egy beépített könyvtár, amely lehetővé teszi véletlenszerű számok generálását és véletlenszerű alapú műveletek végrehajtását a programokban. Különböző funkciókat tartalmaz pszeudo-véletlenszerű számok generálására, amelyek számos alkalmazásban felhasználhatók, a szimulációtól a játékfejlesztésig és a kriptográfiai feladatokig.

A véletlenszerű modul fontos jellemzője, hogy reprodukálható eredményeket biztosít. A kezdőérték vagy mag meghatározásával a véletlenszerű generálás folyamata reprodukálhatóvá válik. Ez előnyös olyan tesztelések, kísérletek és szimulációk esetében, amelyek konzisztens véletlenszerű adatokat igényelnek.

Melyek a random modul funkciói?

A Python random modulja különböző módszereket tartalmaz véletlenszerű számok generálására és feldolgozására. Az alábbi táblázat áttekintést nyújt a függvényekről és azok tulajdonságairól:

A funkció neve Magyarázat
seed(a=None, version=2) Meghatározza a véletlenszám-generátor kezdeti értékét (seed)
getstate() Visszaadja a véletlenszám-generátor aktuális állapotát objektumként
setstate(state) Visszaállítja a véletlenszám-generátor állapotát egy állapotobjektum segítségével
getrandbits(k) K bitű egész számot ad vissza.
randrange(start, stop, step) Véletlenszerű egész számot hoz létre a megadott tartományból
randint(a, b) Visszaad egy véletlenszerű egész számot a megadott tartományból
choice(seq) Visszaad egy véletlenszerű elemet a megadott sorozatból
choices(population, weights=None, *, cum_weights=None, k=1) Létrehoz egy listát, amely k véletlenszerűen kiválasztott elemet tartalmaz a populációból; opcionális a valószínűségek megadása.
sample(k, population) Létrehoz egy listát, amely k véletlenszerűen kiválasztott elemet tartalmaz a populációból, duplikátumok nélkül
shuffle(x) A lista elemeit véletlenszerű sorrendben keveri össze.
random() Visszaad egy véletlenszerű lebegőpontos számot 0 és 1 között.
uniform(a, b) Visszaad egy véletlenszerű lebegőpontos számot a megadott tartományban, beleértve a határértékeket is.
triangular(low, high, mode) Véletlenszerű lebegőpontos számot hoz létre a háromszög eloszlás tartományban.
betavariate(alpha, beta) Visszaad egy véletlenszerű lebegőpontos számot a béta eloszlásból.
expovariate(lambd) Visszaad egy véletlenszerű lebegőpontos számot az exponenciális eloszlásból.
gammavariate(alpha, beta) Véletlenszerű lebegőpontos számot hoz létre gamma-eloszlásból.
gauss(mu, sigma) Visszaad egy véletlenszerű lebegőpontos számot egy Gauss-eloszlásból.
lognormvariate(mu, sigma) Véletlenszerű lebegőpontos számot hoz létre logaritmikus normális eloszlásból.
normalvariate(mu, sigma) Visszaad egy véletlenszerű lebegőpontos számot egy normális eloszlásból.
vonmisesvariate(mu, kappa) Von Mises-eloszlás vagy kör alakú normális eloszlás alapján véletlenszerű lebegőpontos számot ad vissza.
paretovariate(alpha) Visszaad egy véletlenszerű lebegőpontos számot Pareto-eloszlásból.
weibullvariate(alpha, beta) Visszaad egy véletlenszerű lebegőpontos számot Weibull-eloszlással.

Hogyan válasszunk elemek véletlenszerűen egy listából

Ha több véletlenszerű elemet szeretne kiválasztani egy listából, használhatja a Python random modul choices(seq, k=n) funkcióját, ahol n a kívánt véletlenszerű elemek száma.

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)
python

Ebben az esetben a choices() függvényt használjuk, hogy három véletlenszerű elemet válasszunk ki my_listból. Az eredmények három véletlenszerű elem listájaként kerülnek visszaadásra.

Hogyan keverjük össze a listát?

A shuffle() függvény véletlenszerű sorrendbe rendezi a Python lista elemeit.

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']
python

Ne feledje, hogy shuffle() a listát magát módosítja, és nem ad vissza egy újat. shuffle() használata után az eredeti lista véletlenszerű sorrendben lesz.

Hogyan állítsuk be a magértéket?

Ha a Python random modul random.seed() használja egy adott magérték beállításához, akkor a véletlenszám-generátor inicializálódik, és ezt a magértéket használva véletlenszámokat generál. Ezért, ha később újra ugyanazt a magértéket állítja be, akkor az alkalmazásában azonos véletlenszám-sorozat generálódik.

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)
python

A magérték beállítása után véletlenszerű számokat generál és ad ki. A magérték visszaállítása ugyanarra az értékre ugyanazon véletlenszerű számok sorozatának újbóli előállítását eredményezi. Ebben a példában a magérték 42. Amíg ez a magérték állandó marad, a véletlenszerű számok következetesen reprodukálhatók.

Ugrás a főmenübe