Creación de un Array Personalizado en Python
Clase 7 de 23 • Curso de Estructuras de Datos Lineales con Python
Resumen
¿Por qué crear nuestro propio array en Python?
Si bien Python nos ofrece un módulo de arrays, crear el nuestro nos da la oportunidad de entender realmente su funcionamiento interno. Al definir nuestros métodos, comprendemos mejor estructuras como la capacidad, representación en string, el manejo de índices y el reemplazo de elementos. Así que, ¡manos a la obra! Vamos a construir nuestro propio array desde cero.
¿Cómo definir la clase array?
Para comenzar, utilizamos un editor de texto como Visual Studio Code, y creamos un archivo llamado array.py
. Dentro de este archivo, vamos a definir una clase Array
que representará nuestro array. El corazón de esta clase está en el método constructor y los métodos que creamos para gestionarla.
class Array:
def __init__(self, capacidad, fill_value=None):
self.capacidad = capacidad
self.fill_value = fill_value
self.items = [fill_value] * capacidad
__init__
: Define los atributoscapacidad
yfill_value
, con este último predeterminado aNone
. Los elementos del array se guardarán en una lista vacía, que inicializaremos con elfill_value
.
¿Cuáles son los métodos básicos a implementar?
¿Cómo obtener y representar el tamaño?
Un array necesita conocer su tamaño o longitud con facilidad. Para ello, empleamos un método privado que solo consulta su tamaño:
def _longitud(self):
return len(self.items)
¿Cómo representar el array como un string?
Convertir el array a su representación de cadena es útil para visualizar sus elementos:
def __str__(self):
return str(self.items)
¿Cómo crear un iterador para el array?
Un iterador nos permite recorrer la estructura fácilmente:
def __iter__(self):
return iter(self.items)
Utilizamos iter()
para que Python genere un iterador de nuestros elementos.
¿Cómo acceder y modificar elementos del array?
Para obtener un elemento específico, utilizamos un método que recibe el índice como argumento:
def getItem(self, index):
return self.items[index]
Y para reemplazar un elemento:
def setItem(self, index, elemento):
self.items[index] = elemento
Estos métodos son esenciales para gestionar el contenido de nuestro array.
¿Cómo probar nuestro array en Python?
Ahora que tenemos nuestra clase Array
implementada, podemos probarla en la terminal de Python. Creamos una instancia de Array
y comprobamos sus métodos:
from array import Array
# Crear instancia del array
menu = Array(5)
# Obtener longitud
print(len(menu)) # Output: 5
# Representación del array
print(menu) # Output: [None, None, None, None, None]
# Iterar y modificar elementos
for i in range(len(menu)):
menu.setItem(i, i + 1)
print(menu.getItem(0)) # Output: 1
print(menu.getItem(2)) # Output: 3
¿Cuál es el siguiente reto?
Ahora que has creado y manejado exitosamente un array, es momento de expandir tus habilidades. Te ánimo a desarrollar un método que reemplace los valores de los elementos por números aleatorios o consecutivos. Además, intenta implementar un método para sumar todos los elementos del array, independiente de que sean números o caracteres. Recuerda, recorrer el array es clave, y el uso del iterador puede facilitar esta tarea.
¡Continúa explorando y desafiando tus conocimientos! En la próxima fase, crearemos un array de dos dimensiones, llevando tu comprensión de estructuras de datos a otro nivel.