Module Python Random
Le module random est un module intégré qui nous permet de générer des éléments aléatoires.
import random
seed()
La méthode seed est utilisée pour initialiser le générateur de nombres aléatoires.
# Définir la graine pour des nombres aléatoires reproductibles
random.seed(1)
random.random()
0.13436424411240122
Définir la graine sur un nombre retournera toujours le même nombre aléatoire :
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
random.seed(1)
random.random()
0.13436424411240122
La valeur par défaut de la méthode seed est l’heure actuelle du système, c’est pourquoi nous obtenons toujours un nombre différent :
# Générer un nombre aléatoire sans définir de graine (utilise l'heure du système)
random.random()
0.8474337369372327
random.random()
0.763774618976614
random.random()
0.2550690257394217
randint()
random.randint(start: int, stop: int)
Cette méthode retourne un nombre aléatoire entre les paramètres de début et de fin donnés :
random.randint(1, 5)
3
random.randint(1, 5)
2
random.randint(1, 5)
5
random.randint(1, 5)
1
random.randint(1, 5)
3
random.randint(1, 5)
1
choice()
La méthode choice retourne un élément sélectionné aléatoirement à partir d’un itérable, comme une list, un set ou une str :
random.choice([1, 2, 3, 4])
1
random.choice([1, 2, 3, 4])
2
random.choice([1, 2, 3, 4])
4
random.choice([1, 2, 3, 4])
4
shuffle()
La méthode shuffle prend un itérable et le mélange :
my_list = [1, 2, 3, 4]
# Mélanger la liste sur place
random.shuffle(my_list)
my_list
[1, 4, 3, 2]
random.shuffle(my_list)
my_list
[2, 4, 3, 1]
random.shuffle(my_list)
my_list
[4, 2, 3, 1]
sample()
random.sample(iterable, k: int)
sample retourne une liste avec une sélection aléatoire à partir d’un itérable. Le nombre d’éléments retournés est égal au paramètre k :
# Échantillonner aléatoirement k éléments de la liste
random.sample([1, 2, 3, 4], 1)
[3]
random.sample([1, 2, 3, 4], 2)
[3, 4]
random.sample([1, 2, 3, 4], 3)
[4, 3, 2]
random.sample([1, 2, 3, 4], 4)
[1, 2, 4, 3]
random()
La méthode random retourne un nombre à virgule flottante aléatoire entre 0.0 et 1.0 :
random.random()
0.4143139993007743
random.random()
0.17300740157905092
random.random()
0.548798761388153
random.random()
0.7030407620656315
uniform()
La méthode uniform est similaire à randint, mais retourne un nombre à virgule flottante :
random.uniform(1, 5)
3.697943322009309
random.uniform(1, 5)
2.498812082006561
random.uniform(1, 5)
2.7558465201782525
random.uniform(1, 5)
3.0337059529999273