Python no cuenta con una implementación nativa de arreglos (una estructura básica en todo lenguaje de programación) pero cuenta con listas, las cuales son más poderosas que los arreglos en cuanto a funcionalidades. Al ser vistas como conjuntos de elementos ordenados, pueden comportarse de manera natural como pilas y colas. Y al soportar elementos de cualquier tipo, pueden tener cualquier número de dimensiones.

Gracias a estas características, es posible realizar de manera sencilla algunas tareas que requieren algo más de trabajo cuando se utilizan arreglos tradicionales en otros lenguajes.



Iniciemos el intérprete Python y veamos directamente algunos ejemplos.

root@cloud:~# python
Python 2.7.3 (default, Mar 13 2014, 11:03:55)
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>

Definir una lista llamada (en un momento de inspiración) "lista":

>>> lista = ["peras", "manzanas", "naranjas", "bananas"]
>>> print lista
['peras', 'manzanas', 'naranjas', 'bananas']

Como se observa, es posible imprimir la lista completa en forma de arreglo. Para obtener elementos de posiciones específicas se utiliza un índice entre corchetes, al igual que en cualquier lenguaje, y para obtener la cantidad de elementos de la lsita se puede utilizar la función len:

>>> print lista[0]
peras
>>> print lista[3]
bananas
>>> print len(lista)
4

Las listas permiten implementar una pila (LIFO, last in, first out) de manera natural, pues cuentan con las operaciones pop() y append(). De esta forma, operaciones como eliminar el último elemento de un arreglo son algo trivial.

>>> fruta = lista.pop()
>>> print lista
['peras', 'manzanas', 'naranjas']
>>> print fruta
bananas

Lógicamente no es necesario guardar la salida de la función pop() en una variable:

>>> lista.pop()
>>> print lista
['peras', 'manzanas']

Al mismo tiempo es posible implementar una cola (FIFO, first in, first out) utilizando popleft() en vez de pop().

Otra característica interesante de las listas son los índices negativos. Estos se utilizan para indexar de atrás hacia adelante. Por ejemplo, el índice -1 apunta al último elemento de la lista:

>>> lista = ["peras", "manzanas", "naranjas", "bananas"]
>>> lista[-1] = "uvas"
>>> print lista
['peras', 'manzanas', 'naranjas', 'uvas']
>>> lista[-2] = "pomelos"
>>> print lista
['peras', 'manzanas', 'pomelos', 'uvas']

Sin dudas Python es un excelente lenguaje para producir software, lo cual me recuerda una frase célebre de Eric S. Raymond:

"If a language does too much for you, it may be simultaneously a good tool for production and a bad one for learning."

Lo que quiero decir con ésto es que está bueno desarrollar software en Python una vez que uno conoce en profundidad los conceptos de programación (algoritmos, estructuras de datos, gestión de memoria, etc.), pero no recorrer el camino inverso.

Referencias

The Python Tutorial » Data Structures


Tal vez pueda interesarte


Compartí este artículo