Módulo Random de Python
El módulo random es un módulo incorporado que nos permite generar elementos aleatorios.
import random
seed()
El método seed se utiliza para inicializar el generador de números aleatorios.
# Establecer la semilla para números aleatorios reproducibles
random.seed(1)
random.random()
0.13436424411240122
Establecer la semilla en un número siempre devolverá el mismo número aleatorio:
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
El valor predeterminado del método seed es la hora actual del sistema, por eso siempre obtenemos un número diferente:
# Generar número aleatorio sin establecer la semilla (usa la hora del sistema)
random.random()
0.8474337369372327
random.random()
0.763774618976614
random.random()
0.2550690257394217
randint()
random.randint(start: int, stop: int)
Este método devuelve un número aleatorio entre los parámetros de inicio y parada dados:
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()
El método choice devuelve un elemento seleccionado aleatoriamente de un iterable, como una list, set o 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()
El método shuffle toma un iterable y lo mezcla (baraja):
my_list = [1, 2, 3, 4]
# Mezclar la lista en su lugar
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 devuelve una lista con una selección aleatoria de un iterable. El número de elementos devueltos es igual al parámetro k:
# Muestrear aleatoriamente k elementos de la lista
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()
El método random devuelve un número flotante aleatorio entre 0.0 y 1.0:
random.random()
0.4143139993007743
random.random()
0.17300740157905092
random.random()
0.548798761388153
random.random()
0.7030407620656315
uniform()
El método uniform es similar a randint, pero devuelve un número de punto flotante:
random.uniform(1, 5)
3.697943322009309
random.uniform(1, 5)
2.498812082006561
random.uniform(1, 5)
2.7558465201782525
random.uniform(1, 5)
3.0337059529999273