Listas en Python: cómo crearlas y usarlas
Conoce qué son listas en Python y cuáles son sus funciones principales.
El lenguaje de programación Python cuenta con varios tipos de datos nativos utilizados para agrupar valores. El más versátil es la lista, que sirve para almacenar información compleja de forma organizada. Las listas en Python ayudan a estructurar y ordenar el contenido para su uso posterior. A diferencia de tuple, set y diccionario, una lista puede almacenar datos de varios tipos, anidar diferentes valores y listas. Una lista es una estructura de datos muy flexible. La puedes editar, ordenar, ampliar o acortar a través de varios métodos. Veamos con más detalle cómo funciona la clase list.
¿Qué es una lista en Python?
Una lista es una secuencia de valores. Es un tipo de contenedor usado para almacenar un número indefinido de datos arbitrarios del mismo tipo o de tipos distintos.
Una lista homogénea contiene elementos del mismo tipo, por ejemplo, strings.
lista1 = ['uno', 'dos', 'tres']
Una lista heterogénea combina diferentes tipos de archivos. En el siguiente ejemplo tenemos un string, un número entero, un flotante y hasta otra lista.
lista2 = ['uno', 2, 3.14, [10, 20, 30]] <pre>
Las listas en Python tienen las siguientes propiedades:
- Son ordenadas: cada elemento dentro de la lista está indexado y mantiene el orden definido.
- Permiten elementos duplicados: las listas pueden tener elementos con el mismo valor.
- Las listas pueden anidar, es decir, contener una lista dentro de la otra.
- Son mutables: podemos editar, eliminar o agregar elementos en una lista existente.
¿Cómo se crea una lista en Python?
Para crear una lista en Python, usa corchetes [] que encierran elementos separados por comas:
nueva_lista1 = [1, 2, 3, 4] print (nueva_lista1) [1, 2, 3, 4]
Otra manera de crear una lista es mediante el constructor de la clase list(iterable), el cual convierte un contenedor iterable en una lista:
iterable = ('Python') nueva_lista2 = list (iterable) print (nueva_lista2) ['P', 'y', 't', 'h', 'o', 'n']
Una lista que no contiene elementos se llama una lista vacía, y se usa para agregar datos posteriormente. La puedes crear usando tanto corchetes vacíos como el constructor list():
lista_vacía1 = [] print (lista_vacía1) [] lista_vacía2 = list() print (lista_vacía2) []
¿Cómo acceder a elementos de una lista?
Para acceder a un elemento de una lista, se aplican los índices; estos son números enteros que indican la posición de un elemento en una lista. Para seleccionar un elemento, especifica su índice entre corchetes. El indexado va desde 0 a n-1, siendo n el tamaño de la lista. Por ejemplo, en una lista con 3 elementos, los índices respectivos de cada uno de los ítems serían 0, 1 y 2.
lista = ['uno', 2, 3.14] print(lista [0]) uno print(lista [1]) 2 print(lista [2]) 3.14
Python también te permite usar índices negativos para acceder a los elementos de una secuencia. En este caso, el índice [-1] se refiere al último elemento de la lista, el [-2] al penúltimo, etc.
lista = ['uno', 2, 3.14] print(lista [-1]) 3.14 print(lista [-2]) 2 print(lista [-3]) uno
Como hemos mencionado, las listas pueden contener otras secuencias. Para acceder a sus elementos, usa corchetes dobles “[][]”. En el primer corchete especifica el índice de la lista anidada, y en el segundo, el elemento necesario.
lista = ['uno', 2, 3.14, [10, 20, 30]] print(lista [3]) [10, 20, 30] print(lista [3][0]) 10
Además, puedes rebanar una lista por el rango de elementos o crear sublistas más pequeñas de una lista usando el operador [:], indicando a la izquierda el valor de inicio, y a la derecha el valor final que no está incluido. Así [0:2] crearás una lista con los elementos [0] y [1] de la lista original.
lista = ['uno', 2, 3.14, [10, 20, 30]] print(lista [0:2]) ['uno', 2] #[:] Selecciona todos los elementos print(lista [:]) ['uno', 2, 3.14, [10, 20, 30]] #[2:] Selecciona los elementos desde el índice definido hasta el final print(lista [2:]) [3.14, [10, 20, 30]] #[:3] Selecciona los elementos hasta el índice definido, sin incluirlo print(lista [:3]) ['uno', 2, 3.14]
¿Cómo modificar elementos de una lista?
Ya que las listas en Python son mutables, puedes modificar sus elementos con el operador de asignación “=”. Para esto, selecciona elementos a modificar mediante sus índices o un rango e indica el valor nuevo.
lista = ['uno', 2, 3.14, [10, 20, 30]] lista[3] = 4 print(lista) ['uno', 2, 3.14, 4] lista = ['uno', 2, 3.14, [10, 20, 30]] lista[1:] = ['dos', 'tres', 'cuatro'] print(lista) ['uno', 'dos', 'tres', 'cuatro']
¿Cómo agregar elementos a una lista en Python?
Las listas en Python son dinámicas, lo que te permite agregar y eliminar elementos. Hay varias formas de agregar nuevos datos a listas existentes.
Para agregar un nuevo elemento a una lista, aplica el método append(). Agrega el nuevo elemento al final de la lista sin afectar ninguno de los elementos anteriores. Este método es preferible cuando quieres ir agregando elementos en una lista vacía según sea necesario.
compras = ['leche', 'pan', 'tomate'] compras.append('pollo') print(compras) ['leche', 'pan', 'tomate', 'pollo']
También es posible agregar un elemento en una posición concreta con el método insert(índice, elemento) donde se especifica la posición del elemento y el valor nuevo. Los elementos con el índice mayor al índice indicado se desplazan hacia la derecha:
compras = ['leche', 'pan', 'tomate'] compras.insert(1, 'queso') print(compras) ['leche', 'queso', 'pan', 'tomate']
Para agregar un grupo de elementos, usa el método extend():
compras = ['leche', 'pan', 'tomate'] compras.extend(['sal', 'azúcar', ' huevos']) print(compras) ['leche', 'pan', 'tomate', 'sal', 'azúcar', ' huevos']
El mismo resultado obtendrás concatenando dos listas con el operador “+”:
compras1 = ['leche', 'pan', 'tomate'] compras2 = ['sal', 'azúcar', 'huevos'] compras = compras1 + compras2 print(compras) ['leche', 'pan', 'tomate', 'sal', 'azúcar', 'huevos']
¿Cómo eliminar elementos de una lista en Python?
En Python hay cuatro formas principales para borrar elementos de una lista:
- Por su índice mediante la función del():
compras = ['leche', 'pan', 'tomate'] del(compras[2]) print(compras) ['leche', 'pan']
- Por su valor mediante el método remove():
compras = ['leche', 'pan', 'tomate'] compras.remove('pan') print(compras) ['leche', 'tomate']
- Mediante el método pop(), que además de borrar, te recupera el elemento realizando una extracción:
compras = ['leche', 'pan', 'tomate'] print(compras.pop(0)) leche print(compras) ['pan', 'tomate']
- Por su rango mediante el rebanado de listas:
compras = ['leche', 'pan', 'tomate'] compras[:2] = [] print(compras) ['tomate']
¿Cómo saber si un elemento está en una lista en Python?
Para comprobar que un ítem específico está en la lista, aplica el operador de pertenencia “in”. Si un elemento está almacenado en la lista, se devuelve la expresión booleana True; de lo contrario, se devolverá False.
compras = ['leche', 'pan', 'tomate'] print('leche' in compras) True print('huevos' in compras) False
Métodos de lista
Como hemos visto, Python permite manipular listas de muchas maneras. Resumimos con una lista completa de métodos de la clase list.
Método | Descripción |
list.append(x) | Agrega un nuevo elemento al final de la lista. |
list1.extend(list2) | Agrega un grupo de elementos (iterables) al final de la lista o concatena listas. |
list.insert(índice, elemento) | Inserta un elemento en una posición concreta de la lista. |
list.remove(elemento) | Elimina la primera ocurrencia de un elemento en la lista. |
list.pop(índice) | Extrae y elimina un elemento de la lista en la posición indicada. |
list.clear() | Borra todos los elementos de la lista. |
list.index(elemento) | Devuelve el índice de la primera ocurrencia de un elemento en la lista. |
list.count(elemento) | Cuenta el número de ocurrencias de un elemento en la lista. |
list.sort() | Ordena elementos en la lista. |
list.reverse() | Pone elementos de la lista en orden inverso. |
list.copy() | Devuelve una copia de la lista. |
Si quieres empezar tu carrera en programación y dominar el lenguaje Python, en EBAC te invitamos al curso online Python para análisis de datos. En solo 2 meses empezarás a programar desde cero, aprenderás a manejar listas y estructuras de datos, visualizar y publicar tu análisis de datos. Harás actividades prácticas a tu ritmo y en cualquier lugar, con el feedback del tutor, y aplicarás nuevos conocimientos en un proyecto profesional que te ayudará a enriquecer tu portafolio. Al finalizar el curso, recibirás el certificado de EBAC y acceso a la plataforma de por vida.
Python para análisis de datos
Aprende uno de los lenguajes de programación más versátiles y accesibles en la analítica, maneja grandes cantidades de datos de forma automatizada. Agiliza tu trabajo con esta poderosa herramienta, integra tus sistemas, procesa datos más rápido y en diferentes formatos.