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

Enlaces relevantes

Morty Proxy This is a proxified and sanitized view of the page, visit original site.