> Modules standards > Modules de maths > random
random
Permet la génération de nombres aléatoires.
import :
import random. Pour utiliser les fonctions, on peut faire :
- rnd = random.Random(); rnd.choice(['a', 'b', 'c'])
- ou alors : random.choice(['a', 'b', 'c'])
- random.choices(['a', 'b', 'c'], k = 10) : tirage avec remise de 10 valeurs.
- random.choices(['a', 'b', 'c'], weights = [10, 1, 1], k = 1) : tirage avec remise de 10 valeurs, en donnant des poids différents.
random.seed(2) : pour initialiser le générateur (utile pour avoir des séquences aléatoire reproductibles).
Sampling :
- random.choice(['a', 'b', 'c']) : renvoie un élément au hasard.
- random.sample(['a', 'b', 'c', 'd', 'e'], 2) : sample de taille 2, sans remise (donc, la taille ne peut pas être supérieure à celle de la liste).
- l = ['a', 'b', 'c', 'd']; random.shuffle(l); : pour permuter de manière aléatoire une liste (sur place).
Valeurs aléatoires :
- random.random() : valeur entre 0 et 1, 1 exclus.
- random.randint(0, 3) : entier entre 0 et 3 inclus.
Distributions :
- random.gauss(0, 1) ou random.normalvariate(0, 1) : valeur issue d'une distribution gaussienne de moyenne 0 et écart-type 1 (random.normalvariate est un peu plus lente).
- pour avoir 100 valeurs : [random.gauss(0, 1) for i in range(100)]
- random.uniform(0, 1) : valeur issue d'une uniforme entre 0 et 1.
- random.lognormvariate(0, 1) : valeur issue d'une distribution lognormale (moyenne 0 et écart-type 1 pour la gaussienne sous-jascente).
- random.expovariate(5) : valeur issue d'une distribution exponentielle de paramètre lambda = 5 (donc de moyenne 1/5).
- random.lognormvariate(2, 3) : renvoie une valeur aléatoire d'une distribution lognornormale, donc le log est une distribution normale de moyenne 2 et écart-type 3.
Copyright python-simple.com
programmer en python, tutoriel python, graphes en python, Aymeric Duclert