Python » Fundamentos de Python » Listas en Python

Listas en Python

Las listas en Python son en esencia una colección de elementos, no necesariamente del mismo tipo. Su característica principal reside en que el orden de sus elementos se mantiene en todo momento. Las listas usan corchetes ([]) para encerrar a sus elementos, y comas (,) para separarlos. En este post vamos a ver propiedades de las listas así como algunos de sus métodos más comunes.

Tipos de elementos en una lista

Una lista puede almacenar elementos los cuales son todos del mismo tipo, como por ejemplo strings.

>>> lista = ['uno', 'dos', 'tres']
>>> lista
['uno', 'dos', 'tres']

Sin embargo los elementos almacenados pueden ser de distinto tipo, como en el siguiente ejemplo donde tenemos un string, un entero y un número de coma flotante.

>>> lista = ['uno', 2, 3.14159]
>>> lista
['uno', 2, 3.14159]

Acceder y modificar los elementos de una lista

Los elementos de una lista están indexados del mismo modo que lo están los caracteres que conforman un string. Esto permite seleccionar un único elemento de una lista por la posición que ocupa en la misma. Para ello debemos especificar entre corchetes el índice del elemento teniendo en cuenta que el índice del primer elemento es 0. Además también podemos referirnos al último elemento con el índice -1, el penúltimo con el índice -2 y así sucesivamente.

>>> lista = ['uno', 'dos', 'tres', 'cuatro', 'cinco']
>>> lista[0]
'uno'
>>> lista[-1]
'cinco'

Además también podemos seleccionar una porción de elementos de una lista, operación que es análoga al rebanado de strings.

>>> lista = ['uno', 'dos', 'tres', 'cuatro', 'cinco']
>>> lista[2:]
['tres', 'cuatro', 'cinco']
>>> lista[1:3]
['dos', 'tres']

Del mismo modo, podemos invertir el orden de los elementos de una lista con la misma sintaxis que utilizamos para invertir un string.

>>> lista = ['uno', 'dos', 'tres', 'cuatro', 'cinco']
>>> lista[::-1]
['cinco', 'cuatro', 'tres', 'dos', 'uno']

Como hemos visto anteriormente, las listas pueden contener elementos de cualquier tipo. Esto implica que las listas pueden a su vez contener otras listas o listas anidadas. Para acceder a los elementos de una lista anidada tenemos que usar corchetes dobles ([][]). En el primer corchete seleccionamos la lista anidada y en el segundo el elemento o elementos en cuestión.

>>> lista = ['uno', [2, 3], 'cuatro', 'cinco']
>>> lista[1]
[2, 3]
>>> lista[1][1]
3

A pesar de las similitudes que presentan las listas y los strings en relación al acceso de sus elementos, también existen diferencias entre estos dos tipos de datos. En concreto, las listas al contrario que los strings son mutables. Esto significa que podemos modificar sus elementos una vez la lista ha sido creada. Para ello simplemente tenemos que seleccionar el elemento a modificar mediante su índice e indicar el valor por el cual se debe remplazar.

>>> lista = ['uno', 'dos', 'tres', 'cuatro', 'cinco']
>>> lista[2] = 3
>>> lista
['uno', 'dos', 3, 'cuatro', 'cinco']

Concatenar y replicar listas

Dos listas pueden concatenarse en una de sola mediante el signo más (+). El resultado es una nueva lista con los elementos de las dos listas en el mismo orden de la concatenación.

>>> letras = ['uno', 'dos', 'tres']
>>> numeros = [4, 5, 6]
>>> letras + numeros
['uno', 'dos', 'tres', 4, 5, 6]

Otra operación que admiten las listas es la de réplica, que se realiza mediante el signo de multiplicación (*). Esta operación es equivalente a concatenarle a una lista sus mismos elementos un número determinado de veces.

>>> lista = [1, 2, 3]
>>> lista * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

Métodos comunes de las listas

En este apartado vamos a ver algunos de los métodos que proporcionan las listas. Para una explicación detallada de todos los métodos disponibles referir a la documentación oficial de Python.

  • lista.append(x): añade el elemento x al final de la lista.
>>> lista = [1, 2, 3]
>>> lista.append(4)
>>> lista
[1, 2, 3, 4]
  • lista.extend(iterable): expande la lista añadiéndole los elementos de un objeto iterable. Este método es una alternativa a la concatenación de listas.
>>> lista = [1, 2, 3]
>>> lista.extend([4, 5])
>>> lista
[1, 2, 3, 4, 5]
  • lista.pop(index=-1): elimina y devuelve el elemento cuya posición corresponde al índice especificado. Por defecto elimina el último elemento.
>>> lista = [1, 2, 3, 4]
>>> lista.pop()
4
>>> lista
[1, 2, 3]
>>> lista.pop(1)
2
>>> lista
[1, 3]
  • lista.sort(): ordena los elementos de la lista.
>>> lista = [3, 2, 4, 1]
>>> lista.sort()
>>> lista
[1, 2, 3, 4]
  • lista.reverse(): invierte el orden de los elementos de una lista. Este método es equivalente a aplicar lista[::-1].
>>> lista = [1, 2, 3, 4]
>>> lista.reverse()
>>> lista
[4, 3, 2, 1]

Otras operaciones del intérprete

El intérprete de Python también ofrece varias funciones integradas que podemos aplicar a las listas. Éstas son len(), min() y max() que devuelven respectivamente el número de elementos de la lista, su valor mínimo y su valor máximo.

>>> lista = [4, 2, 0, 1, 3]
>>> len(lista)
5
>>> min(lista)
0
>>> max(lista)
4
Foto del autor

Albert Brugués

Soy doctor en informática médica y un apasionado de la tecnología y las nuevas oportunidades que brinda. Más en particular me encanta la inteligencia artificial y el desarrollo web. En este blog pretendo compartir los conocimientos de Python que he ido adquiriendo a lo largo de los años.

Deja un comentario