Librería Random en Python: guía completa
Trabajar con números aleatorios es una de las tareas fundamentales en programación. Ya sea que estés creando un juego simple, modelando eventos probabilísticos o trabajando con machine learning, la librería random en Python será una herramienta indispensable para cualquier desarrollador.
En este artículo, exploraremos a fondo cómo usar la librería random en Python de manera eficiente. Analizaremos la función randint y la compararemos con su equivalente en la librería NumPy.
¿Qué es la librería random?
La librería random es un módulo estándar de Python diseñado para generar números pseudoaleatorios. No requiere instalación adicional, ya que viene incluida con Python. Este módulo ofrece una amplia variedad de funciones para generar números aleatorios, seleccionar elementos al azar de secuencias y mezclar datos.
Principales funcionalidades de la librería random
- Generación de números aleatorios de distintos tipos
- Selección aleatoria de un elemento de una lista o tupla
- Mezcla de elementos en colecciones
- Generación de números aleatorios con distribución normal
- Creación de secuencias aleatorias
- Trabajo con distribuciones de probabilidad
Importar y empezar a usar random
Para empezar a usar la librería, solo necesitas importar el módulo de la forma estándar:
import random
Una vez importado, tendrás acceso a todas las funciones del módulo random para generar datos aleatorios.
Funciones principales de la librería random
Función random.random()
Esta función genera un número decimal aleatorio en el rango de 0.0 a 1.0, sin incluir el límite superior.
import random
print(random.random()) # Posible resultado: 0.7345832
Función random.randint() y sus características
La función random.randint() es una de las más populares del módulo. Genera un número entero aleatorio dentro de un rango específico. Una característica importante es que incluye ambos límites del rango.
random.randint(a, b) # Devuelve un número aleatorio entre a y b, inclusive
Ejemplo práctico de la función randint:
number = random.randint(1, 10)
print(f"Número aleatorio: {number}")
Resultado: un número aleatorio del 1 al 10, inclusive.
Función random.choice()
Esta función selecciona un elemento aleatorio de una secuencia. Funciona con listas, tuplas, cadenas de texto y otros objetos iterables.
colors = ['red', 'blue', 'green', 'yellow']
selected_color = random.choice(colors)
print(selected_color) # Posible resultado: 'blue'
Función random.shuffle()
Esta función mezcla los elementos de una lista directamente, modificando la lista original sin crear un nuevo objeto.
deck = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
random.shuffle(deck)
print(deck) # Los elementos estarán en orden aleatorio
Funciones adicionales de random
Función random.uniform()
Genera un número decimal aleatorio dentro de un rango específico:
value = random.uniform(1.5, 5.5)
print(value) # Número aleatorio entre 1.5 y 5.5
Función random.sample()
Devuelve una muestra aleatoria de una secuencia sin repeticiones:
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
sample = random.sample(numbers, 3)
print(sample) # Tres números aleatorios sin repetición
NumPy y la función np.random.randint
¿Qué es np.random.randint?
La función np.random.randint es el equivalente de random.randint en la librería NumPy. Se utiliza para trabajar con arrays y vectores