Listas en Python con ejemplos

Las listas o arreglos (dependiendo en como te guste llamarlos) en Python son una de las estructuras de datos mas funcionales y útiles que posee este lenguaje. Puedes encontralas en cualquier tipo de programas y probablemente sean una de las estructuras de datos mas usadas en este lenguaje.

Tabla de contenidos

En Python existen 4 tipos de estructuras de datos grupales:

  • Listas
  • Tuple
  • Diccionarios
  • Set

Hoy vamos a hablar acerca del primer grupo, las listas. Es esencial entender cada una de estas estructuras de datos grupales para asegurar la mayor eficiencia posible en nuestro. Elegir el grupo equivocado no garantiza la mejor calidad de código a pesar de que este funcione.

Listas en Python

Para resumirlo de forma sencilla, una lista es una colección ordenada e intercambiable de elementos. Podemos comparar una lista con un arreglo en otros lenguajes pero menos restrictivo. Para crear una lista en Python, todo lo que tienes que hacer es escribir []. Veamos un ejemplo:

lista = ["copito", "system", "conejo"]

print(lista)

>>> ['copito', 'system', 'conejo']

Las listas en Python tienen alguna características importantes:

  • las listas son ordenadas
  • las listas pueden contener cualquier objeto
  • las listas pueden ser anidadas sin limites de profundidad
  • los elementos en una lista pueden ser accedidos por medio de un índice
  • las listas pueden ser modificadas
  • las listas son mutables

Existe otra forma, menos usada, de crear una lista utilizando el constructorlist() como se muestra mas abajo:

lista = list(("copito", "system", "conejo"))

print(lista)

>>> ['copito', 'system', 'conejo']

Las listas son ordenadas

En comparación con los diccionarios, las listas son objetos ordenados. Dos listas con los mismos objetos pero en diferente orden no son iguales.

a = [1, 2, 3, 4, 5]
b = [5, 4, 3, 2, 1]

a == b

>>> False

Las listas pueden contener cualquier objeto

Como dijimos antes, las listas pueden contener cualquier tipo de estructuras de datos, desde enteros hasta strings u otras listas. Incluso puedes mezclarlas todas.

a = [1, 2, 8, "copito", "2018", 2018, ["a", "b", 3], "system"]

Cuando decimos que una lista puede contener cualquier tipo de objecto, nos referimos a cualquier tipo, como funciones, clases o incluso módulos

Puedes anidar tantas listas como quieras

Como hemos dicho anteriormente, una lista puede contener cualquier objeto, eso significa que podemos agregar una lista a otra lista.

a = ["a", "b", "c", ["d1", "d2", "d3"], "e", "f"]

Los elementos de lista se acceden con un índice

Una vez creada la lista probablemente quieras acceder a un elemento especifico de la misma, para ello debes hacer como se explica a continuación:

a = ["copito", "system", "conejo"]

# a[0] para devolver el primer elemento
# a[1] para el segundo
print(a[0])

>>> "copito"

Si deseas acceder al primer elemento de una lista, entonces debes usar el índice 0, para el segundo elemento el 1 y así sucesivamente.

Importante: los índices en python comienzan en 0

Ahora, volvamos a ver nuestro ejemplo anterior de las listas anidadas y tratemos de acceder al valor "d2":

a = ["a", "b", "c", ["d1", "d2", "d3"], "e", "f"]

# si usamos a[0] obtenemos el primer elemento de la lista
# si usamos a[3] vamos a obtener la lista de las "d"
print(a[3])

>>> ["d1", "d2", "d3"]

# pero nosotros solo queremos el segundo elemento de esta lista

print(a[3][1])

>>> "d2"

Si tratas de acceder a un índice que no se encuentra en la lista obtendrás un error.

No hay limite en cuantas listas puedes anidar, pero asegurate no llenar la memoria de tu computadora! Anidar listas también es útil para crear matrices, donde el primer índice puede ser las filas y el segundo las columnas.

Las listas pueden ser modificadas

Esto es fácil de explicar con un ejemplo, veamos:

a = [1 , 1, 1]
a[1] = 5

print(a)

>>> [1, 5, 1]

¿Qué sucede si queremos eliminar un elemento de nuestra lista en python? Digamos que tenemos una lista llamada cesta donde guardamos todas nuestras frutas, pero no hemos comidos todas las manzanas, entonces:

cesta = ["naranjas", "bananas", "manzanas", "sandias"]

del cesta[2]
print(cesta)

>>> ["naranjas", "bananas", "sandias"]

Existe otra forma de realizar lo mismo:

cesta = ["naranjas", "bananas", "manzanas", "sandias"]

cesta.remove(2)
print(cesta)

>>> ["naranjas", "bananas", "sandias"]

El método remover funciona de la siguiente manera: nombre_de_la_lista.remove(indice).

Para agregar un nuevo elemento a la lista, utilizamos append():

a = [1, 2, 3, 4]
a.append(5)

print(a)

>>> [1, 2, 3, 4, 5]

Agregar una variable a una lista

En pocas palabras, si agregas una variable a una lista y esa variable cambia su valor, NO se actualizará en la lista. Veamos el siguiente ejemplo:

a = 5
mi_lista = ["copito", "system", a]
a += 5

print(mi_lista)

>>> ["copito", "system", 5]

Conclusión

En este tutorial analizamos los conceptos básicos de las listas en python. Este tipo de estructuras de datos grupales serán de gran utilidad cuando programes. Por ejemplo una lista llamada enemigos puede contener los puntos de vida de cada objetivo en el juego. Asegurate de entender claramente como usar las listas, y si necesitas ayuda extra déjanos un comentario abajo. Hasta el próximo tutorial!


Deja un comentario