Module Python random : aperçu des fonctions
Le module Python random vous offre un grand nombre de fonctions pour générer des nombres aléatoires dans différents formats ; des entiers aux nombres à virgule flottante, en passant par la sélection d’éléments dans des listes.
Module random de Python : définition
Le module random de Python est une bibliothèque intégrée qui vous permet de générer des nombres aléatoires et d’effectuer des opérations basées sur l’aléatoire dans vos programmes. Il comprend plusieurs fonctions de génération de nombres pseudo-aléatoires qui peuvent être utilisées dans de nombreux cas d’application, de la simulation au développement de jeux en passant par des tâches de chiffrement.
La répétabilité est une caractéristique importante du module random. En définissant une valeur initiale ou seed, la génération aléatoire peut être reproduite. Cela est pratique pour les tests, les expériences et les simulations nécessitant des données aléatoires cohérentes.
Liste des fonctions du module random
Le module random de Python contient plusieurs méthodes pour générer et traiter des nombres aléatoires. Le tableau suivant donne un aperçu des fonctions et de leurs propriétés :
Nom de la fonction | Définition |
---|---|
seed(a=None, version=2)
|
Définit la valeur initiale (seed) pour le générateur de nombres aléatoires. |
getstate()
|
Renvoie l’état actuel du générateur de nombres aléatoires sous forme d’objet. |
setstate(state)
|
Réinitialise l’état du générateur de nombres aléatoires en utilisant un objet d’état. |
getrandbits(k)
|
Renvoie un entier de k bits. |
randrange(start, stop, step)
|
Génère un entier aléatoire à partir de la plage spécifiée. |
randint(a, b)
|
Renvoie un entier aléatoire dans la plage spécifiée. |
choice(seq)
|
Renvoie un élément aléatoire de la séquence donnée. |
choices(population, weights=None, *, cum_weights=None, k=1)
|
Retourne une liste de k éléments choisis aléatoirement dans la population ; les probabilités peuvent être spécifiées optionnellement. |
sample(k, population)
|
Crée une liste de k éléments choisis aléatoirement dans la population, sans doublons. |
shuffle(x)
|
Mélange les éléments d’une liste dans un ordre aléatoire. |
random()
|
Renvoie un nombre aléatoire à virgule flottante compris entre 0 et 1. |
uniform(a, b)
|
Renvoie un nombre aléatoire à virgule flottante dans la plage spécifiée, y compris les limites. |
triangular(bas, haut, mode)
|
Renvoie un nombre aléatoire à virgule flottante dans la plage de distribution triangulaire. |
betavariate(alpha, beta)
|
Renvoie un nombre aléatoire à virgule flottante à partir d’une distribution beta. |
expovariate(lambd)
|
Renvoie un nombre aléatoire en virgule flottante à partir d’une distribution exponentielle. |
gammavariate(alpha, beta)
|
Renvoie un nombre aléatoire en virgule flottante à partir d’une distribution gamma. |
gauss(mu, sigma)
|
Retourne un nombre aléatoire en virgule flottante à partir d’une distribution gaussienne. |
lognormvariate(mu, sigma)
|
Retourne un nombre aléatoire en virgule flottante à partir d’une distribution logarithmique normale. |
normalvariate(mu, sigma)
|
Renvoie un nombre aléatoire à virgule flottante à partir d’une distribution normale. |
vonmisesvariate(mu, kappa)
|
Renvoie un nombre aléatoire à virgule flottante à partir d’une distribution de von Mises. |
paretovariate(alpha)
|
Renvoie un nombre aléatoire à virgule flottante à partir d’une distribution de Pareto. |
weibullvariate(alpha, beta)
|
Renvoie un nombre aléatoire à virgule flottante à partir d’une distribution de Weibull. |
Sélectionner des éléments au hasard dans une liste
Si vous souhaitez sélectionner plusieurs éléments au hasard dans une liste, vous pouvez utiliser la fonction choices(seq, k=n)
du module Python random, où n
est le nombre d’éléments aléatoires souhaités.
import random
ma_liste = ['Pomme', 'Banane', 'Orange', 'Fraise', 'Cerise']
# Sélection aléatoire d’un élément dans la liste
elements_aleatoires = random.choices(ma_liste, k=3)
print("Éléments sélectionnés aléatoirement :", elements_aleatoires)
pythonDans ce cas, nous utilisons la fonction choices()
pour sélectionner trois éléments au hasard dans la liste ma_liste
. Le résultat est renvoyé sous forme de liste de trois éléments aléatoires.
- Certificat SSL et protection DDoS
- Sauvegarde et restauration des données
- Assistance 24/7 et conseiller personnel
Mélanger une liste
La fonction shuffle()
ordonne les éléments de listes Python dans un ordre aléatoire.
import random
# Une liste d’éléments
ma_liste = ['Pomme', 'Banane', 'Orange', 'Fraise', 'Cerise']
# Mélanger les éléments de la liste
random.shuffle(ma_liste)
print("Liste mélangée :", ma_liste) # Exemple de sortie : Liste mélangée : ['Fraise', 'Banane', 'Pomme', 'Cerise', 'Orange']
pythonVous devez garder à l’esprit que shuffle()
modifie la liste elle-même et n’en renvoie pas une nouvelle. Après l’application de shuffle()
, la liste originale sera dans un ordre aléatoire.
Définir une graine (seed)
Si vous utilisez random.seed()
du module random de Python pour définir une valeur de graine spécifique, le générateur de nombres aléatoires sera lancé lors de la génération de nombres aléatoires basés sur cette dernière. Cela signifie que le fait de définir la même valeur de graine à un moment ultérieur générera le même ensemble de nombres aléatoires dans votre application.
import random
# Définition de la valeur de la graine à 42
random.seed(42)
# Génération de nombres aléatoires
print(random.random()) # Exemple de sortie : 0.6394267984578837
print(random.random()) # Exemple de sortie : 0.025010755222666936
# Réinitialisation de la valeur de la graine à 42
random.seed(42)
# Génération à nouveau de nombres aléatoires
print(random.random()) # Exemple de sortie : 0.6394267984578837 (identique à la valeur précédente)
print(random.random()) # Exemple de sortie : 0.025010755222666936 (identique à la valeur précédente)
pythonAprès avoir défini la valeur de la graine, des nombres aléatoires sont générés et imprimés. Si la valeur de la graine est à nouveau fixée à la même valeur, les mêmes nombres aléatoires sont à nouveau générés. Dans notre exemple, la valeur de la graine est 42, ce qui rend les nombres aléatoires reproductibles tant que la valeur de la graine reste la même.