Las listas de Python y sus métodos

Las listas de Python y sus métodos

Las listas de Python son estructuras similares a los array. A diferencia de los array de Python (se importan con un módulo), estas pueden contener valores de todo tipo a la vez. Te voy a explicar lo que son las listas, como utilizarlas y sus principales métodos.

¿Qué son las listas de Python?

Las listas de Python son variables iterables que pueden contener más de un valor a la vez de múltiples tipos.

¿Cómo se declara e inicia una lista de Python?

Para declarar una lista de Python, solo tienes que poner un nombre de variable y darle de valor unos corchetes:

colores = []

Inicializar una lista de Python

Para inicializar una lista de Python, solo tienes que añadirle valores del tipo de dato que sea entre los corchetes, separados por comas.

colores = ['rojo', 'azul', 'verde', 'amarillo']

Llamar a listas de Python

Para llamar a una lista de Python, lo haremos con su nombre, como hacemos con las variables normales.

colores = ['rojo', 'azul', 'verde', 'amarillo']

print(colores)

Resultado en la consola

['rojo', 'azul', 'verde', 'amarillo']

Se imprimen todos los valores. Incluidos los corchetes y las comas.

Las posiciones de las listas Python

Todo elemento iterable en programación como las listas, posee una serie de posiciones. Las listas cuentan con posiciones que van desde la 0 hasta la última posición que ocupemos con cada elemento.

Por lo tanto, en la siguiente lista, si llamo a la posición 0 (como ves en el print()), estoy accediendo a la primera posición de la lista, que es 'rojo'.

colores = ['rojo', 'azul', 'verde', 'amarillo']

print(colores[0])

Resultado en la consola

rojo

Listas multitipo de Python

Tal y como he dicho al principio, las listas de Python son multitipo, pueden contener valores de diferentes tipos de datos en la misma lista:

varios = ['rojo', 7, 10]
 
suma = varios[1] + varios[2]
 
print(f'Mi color favorito es el {varios[0]} y la suma de {varios[1]} y {varios[2]}, da como resultado: {suma}.')

Resultado en la consola

Mi color favorito es el rojo y la suma de 7 y 10, da como resultado: 17.

Este es un ejemplo para que veas como utilizar diferentes tipos en una lista e ir llamándolos como quieras en cualquier momento. Sin embargo, he de decir que es mejor que cuando escribas listas, no hagas esto de escribir datos que no tengan ninguna relación entre ellos (¿qué tendrá que ver el color rojo con esos números?). Intenta que todo tenga el máximo sentido posible. Si almacenas colores, que sean todo colores, si son números, que sean todos valores integer y/o float, etc.

Las posiciones negativas de las listas Python

Las posiciones negativas en listas son las mismas que hemos empleado hasta ahora, pero a la inversa. Acceden a los elementos del último al primero.

Para especificar la primera posición negativa, tenemos que fijarnos en el valor que hay por debajo del 0, el -1, pues esa será la primera posición negativa.

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
print(colores[-1])

Resultado en la consola

amarillo

Si queremos acceder al color rojo, la posición negativa será -4.

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
print(colores[-4])

Resultado en la consola

rojo

Reasignar valores a posiciones de listas

Al igual que con las variables normales, en las listas podemos reasignar valores. Por ejemplo, si queremos cambiar el valor verde, tenemos que hacerlo así:

colores = ['rojo', 'azul', 'verde', 'amarillo'] 
colores[2] = 'gris'
 
print(colores)

Resultado en la consola

['rojo', 'azul', 'gris', 'amarillo']

Vemos que el valor verde ha sido reemplazado.

El método append de Python

Podemos añadir un elemento al final de una lista con el método append().

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
colores.append('gris')
 
print(colores)

Resultado en la consola

['rojo', 'azul', 'verde', 'amarillo', 'gris']

El método insert de Python

O bien, se puede especificar una posición en la lista en la cual se añadirá el elemento, sin eliminar nada con el método insert().

Con este método, tenemos que indicar la posición donde queremos colocar el nuevo elemento.

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
colores.insert(2,'gris')
 
print(colores)

Resultado en la consola

['rojo', 'azul', 'gris', 'verde', 'amarillo']

Eliminar elementos o listas con del

Para eliminar elementos de una lista, podemos utilizar del:

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
del colores[1]
 
print(colores)

Resultado en la consola

['rojo', 'verde', 'amarillo']

Sin embargo, si no especificas una posición, eliminas toda la lista y si la llamamos después de esto, nos da un error "NameError". Diciendo que el elemento no está definido. Es decir, no existe desde la línea en la cual escribimos el "del":

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
del colores
 
print(colores)

Error en la consola

NameError: name 'colores' is not defined

El error dice que la lista 'colores' no está definida. Lo está hasta la línea de "del colores", solo que el print(), lo he puesto después.

Eliminar el último elemento de una lista Python con el método pop

Podemos eliminar el último elemento de una lista con el método pop.

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
colores.pop()
 
print(colores)

Resultado en la consola

['rojo', 'azul', 'verde']

Si lo utilizamos más veces a lo largo del código, siempre irá eliminando el último elemento que quede vivo en la lista.

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
colores.pop()
print(colores)
 
colores.pop()
print(colores)

Resultado en la consola

['rojo', 'azul', 'verde']
['rojo', 'azul']

También podemos especificar un número de posición del elemento que queremos eliminar:

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
colores.pop(0)
print(colores)

Resultado en la consola

['azul', 'verde', 'amarillo']

Eliminar elementos de listas con el método remove

Una de las muchas formas de eliminar elementos en listas es mediante el método remove() de Python.

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
colores.remove('verde')
print(colores)

Resultado en la consola

['rojo', 'azul', 'amarillo']

En esta ocasión, en lugar de utilizar un número de posición, tenemos que indicar el valor literal del elemento que se quiere eliminar.

Ordenar listas con el método sort de Python

Si te gusta el orden, el método sort() es lo que necesitas para ordenar las listas de Python.

Tan solo hay que aplicarle a la lista el método y nos hace un orden alfabético ascendente, de la 'A' a la 'Z'.

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
colores.sort()
print(colores)

Resultado en la consola

['amarillo', 'azul', 'rojo', 'verde']

Si queremos un orden inverso, lo haremos aplicando este argumento (reverse=True) al sort():

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
colores.sort(reverse=True)
print(colores)

Resultado en la consola

['verde', 'rojo', 'azul', 'amarillo']

Además, que sepas que puedes hacer esto con números:

colores = [10, 5, 1, 60]
 
colores.sort()
print(colores)

Resultado en la consola

[1, 5, 10, 60]

Ordenar temporalmente los elementos de listas con el método sorted

Si quieres presentar la lista, por ejemplo, en un print() sin alterar el orden original, utiliza el método sorted():

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
print(sorted(colores))
print(colores)

Resultado en la consola

['amarillo', 'azul', 'rojo', 'verde']
['rojo', 'azul', 'verde', 'amarillo']

Contar los elementos que tiene una lista de Python con el método len

Podemos saber el total de elementos que tiene una lista gracias al método len().

En este caso, tiene solo 4 elementos y lo vemos a simple vista, pero si hubiese 500, lo contaría igual.

colores = ['rojo', 'azul', 'verde', 'amarillo']
 
longitud_colores = len(colores)
 
print(f'La lista de colores, contiene {longitud_colores} colores.')

Resultado en la consola

La lista de colores, contiene 4 colores.

No te pierdas todo el contenido de este curso y más cosas sobre Python.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

curso de Python Entrada anterior Los comentarios en Python
operadores lógicos kotlin Entrada siguiente Los operadores lógicos de Kotlin