Dominando Listas en Python: Append, Sort, Length y List Comprehensions (Guía Práctica)
¿Qué es una Lista en Python?
Una lista en Python es un contenedor versátil que puede contener objetos de cualquier tipo —enteros, strings, floats, o incluso otras listas. Se denota con corchetes [], distinguiéndola de las tuplas, que usan paréntesis (). A diferencia de las tuplas, las listas son mutables: puedes añadir, eliminar o cambiar elementos tras su creación.
En esta guía aprenderás:
- Entender las listas en Python
- Ejemplos de listas homogéneas y heterogéneas
- Acceso, slicing y actualización de elementos
- Eliminación y adición de items
- Métodos integrados de listas
- Bucles y comprehensions para código eficiente
- Ordenación e inversión de listas
Ejemplos de Listas en Python
Las listas pueden ser homogéneas (todos los elementos del mismo tipo) o heterogéneas (tipos mixtos). Aquí tienes ejemplos claros:
# Listas homogéneas int_list = [1, 2, 3, 8, 33] animal_list = ['perro', 'gato', 'cabra'] name_list = ['Juan', 'Travis', 'Sheila'] float_list = [2.2, 4.5, 9.8, 10.4] # Listas heterogéneas mixed_list_1 = [2, 'gato', 34.33, 'Travis'] mixed_list_2 = [2.22, 33, 'bolígrafo']
Accediendo a Valores en Listas
Las listas en Python usan índice base cero. El índice negativo -1 se refiere al último elemento.
items = [3, 22, 30, 5.3, 20] print(items[0]) # 3 print(items[1]) # 22 print(items[-1]) # 20
Slicing de Listas en Python
El slicing extrae una sub-secuencia usando sintaxis inicio:fin, donde fin es exclusivo.
items = [3, 22, 30, 5.3, 20] print(items[:]) # Todos los elementos print(items[1:3]) # [22, 30] print(items[:4]) # [3, 22, 30, 5.3] print(items[2:-1]) # [30, 5.3]
Actualizando Listas
Modifica un elemento asignando un nuevo valor a su índice.
subjects = ['física', 'química', 'matemáticas'] subjects[0] = 'biología' print(subjects) # ['biología', 'química', 'matemáticas']
Eliminando Elementos de Listas
Tres enfoques comunes:
list.remove(valor)— elimina la primera coincidencia del valor.list.pop(índice)— elimina y devuelve el elemento en el índice dado.del list[índice]— elimina el elemento en el índice sin devolverlo.
nums = [3, 5, 7, 8, 9, 20] nums.remove(3) # [5, 7, 8, 9, 20] nums.pop(2) # elimina 8 # del nums[0] # eliminaría 5
Añadiendo Elementos a Listas
El método append() añade un item al final de la lista.
values = [3, 5, 7, 8, 9, 20]
values.append(3.33)
values.append('gatos')
print(values) # [3, 5, 7, 8, 9, 20, 3.33, 'gatos']
Funciones y Métodos Integrados de Listas
len(lista)— número de elementos.max(lista),min(lista)— valores extremos.list(tupla)— convierte una tupla a lista.list.append(item)— añade al final.list.pop(índice)— elimina por índice.list.remove(item)— elimina por valor.list.reverse()— invierte in-place.list.index(item)— obtiene índice de primera ocurrencia.sum(lista)— total de items numéricos.list.sort()— ordena ascendente;list.sort(reverse=True)para descendente.
values = [1, 7, 9, 3, 5] values.sort() print(values) # [1, 3, 5, 7, 9] values.sort(reverse=True) print(values) # [9, 7, 5, 3, 1]
Recorriendo Listas
Itera sobre elementos con un bucle for, opcionalmente modificando cada item o construyendo una nueva lista.
nums = [10, 20, 30, 40, 50, 60, 70]
# Sumar 5 a cada elemento (nota: no modifica la lista original)
for n in nums:
print(n + 5)
# Construir nueva lista desde un slice
new_list = []
for n in nums[2:]:
new_list.append(n)
print(new_list) # [30, 40, 50, 60, 70]
List Comprehensions
Las list comprehensions ofrecen sintaxis concisa para crear listas desde iterables. Son más rápidas y legibles que bucles for equivalentes.
# Cuadrados de números del 1 al 9 squares = [x**2 for x in range(1, 10)] print(squares) # [1, 4, 9, 16, 25, 36, 49, 64, 81]
Resumen
- Las listas en Python son colecciones mutables y ordenadas.
- Accede, haz slicing y actualiza usando índices.
- Métodos integrados simplifican tareas comunes: append, remove, pop, sort, reverse, etc.
- Las list comprehensions permiten construcción elegante y eficiente de listas.
- Dominar estos fundamentos sienta bases sólidas para programación avanzada en Python.
python
- Dominando tipos de datos en Python: Guía práctica
- Dominando operadores en Python: Guía completa
- Dominando la sentencia pass en Python: Guía práctica
- Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
- Dominando Diccionarios en Python: Creación, Manipulación y Técnicas Avanzadas
- Dominando Iteradores en Python: Cómo Funcionan y Cómo Crear los Tuyos
- Explicación de Closures en Python: Cómo las Funciones Anidadas Capturan Variables
- Dominando datetime en Python: Guía Práctica de Fechas, Horas y Zonas Horarias
- Calculando Promedios en Python: Guía Práctica con Múltiples Métodos
- Python list.count(): Guía Experta con Ejemplos Prácticos
- Cómo Eliminar Elementos Duplicados de una Lista en Python: 8 Métodos Efectivos