Ir al contenido principal

Listas en Python: Guía Completa con Ejercicios Resueltos

🐍 Python — Estructuras de Datos

Listas en Python: Guía Completa con Ejercicios Resueltos Paso a Paso

Aprende a crear, modificar, recorrer y ordenar listas en Python con ejemplos prácticos y ejercicios resueltos. La estructura de datos más usada explicada en español.

⏱ 12 min de lectura 🎯 Todos los niveles 💻 Código ejecutable ✅ Ejercicios resueltos

1¿Qué es una lista en Python?

Una lista es una colección ordenada y modificable de elementos. Es la estructura de datos más usada en Python y puede contener cualquier tipo de dato: números, textos, booleanos o incluso otras listas.

💡 Características de las listas
  • Se definen con corchetes [ ]
  • Son ordenadas: cada elemento tiene un índice
  • Son mutables: se pueden modificar después de crear
  • Permiten duplicados: pueden tener elementos repetidos
  • Pueden mezclar distintos tipos de datos

2Crear y acceder a listas

Para crear una lista se usan corchetes. Para acceder a sus elementos se usa el índice, que empieza en 0.

crear_listas.py
# Crear listas en Python
frutas   = ["manzana", "banano", "naranja", "fresa"]
numeros  = [10, 20, 30, 40, 50]
mixta    = ["Python", 3.11, True, 42]
vacia    = []  # lista vacía

# Acceder por índice (empieza en 0)
print(frutas[0])   # manzana  → primer elemento
print(frutas[2])   # naranja  → tercer elemento
print(frutas[-1])  # fresa    → último elemento
print(frutas[-2])  # naranja  → penúltimo elemento

# Longitud de la lista
print("Total de frutas:", len(frutas))  # 4
▶ Salida
manzana
naranja
fresa
naranja
Total de frutas: 4
🔑 Índices negativos
Python permite usar índices negativos: -1 es el último elemento, -2 el penúltimo, etc. ¡Muy útil para acceder al final de una lista sin saber su tamaño!

3Métodos esenciales de listas

Las listas tienen métodos integrados para agregar, eliminar y modificar elementos. Estos son los más importantes:

Método¿Qué hace?Ejemplo
append(x)Agrega al finallista.append("nuevo")
insert(i, x)Inserta en posición ilista.insert(1, "medio")
remove(x)Elimina primera ocurrencia de xlista.remove("manzana")
pop(i)Elimina y retorna el elemento en ilista.pop(0)
sort()Ordena la lista (modifica)lista.sort()
reverse()Invierte el ordenlista.reverse()
count(x)Cuenta cuántas veces aparece xlista.count("a")
index(x)Retorna el índice de xlista.index("fresa")
clear()Vacía la listalista.clear()
metodos_lista.py
colores = ["rojo", "verde", "azul"]

# Agregar elementos
colores.append("amarillo")
print(colores)  # ['rojo', 'verde', 'azul', 'amarillo']

colores.insert(1, "naranja")
print(colores)  # ['rojo', 'naranja', 'verde', 'azul', 'amarillo']

# Eliminar elementos
colores.remove("verde")
print(colores)  # ['rojo', 'naranja', 'azul', 'amarillo']

eliminado = colores.pop(0)
print(f"Eliminado: {eliminado}")  # Eliminado: rojo
print(colores)  # ['naranja', 'azul', 'amarillo']

# Información de la lista
print("Posición de 'azul':", colores.index("azul"))  # 1
print("Total elementos:", len(colores))              # 3

4Recorrer listas con bucles

Una de las operaciones más comunes es recorrer todos los elementos de una lista. Python ofrece varias formas elegantes de hacerlo:

recorrer_lista.py
frutas = ["manzana", "banano", "naranja", "fresa"]

# Forma 1: for directo (más común)
print("--- Mis frutas ---")
for fruta in frutas:
    print(f"  • {fruta}")

# Forma 2: con índice usando enumerate()
print("\n--- Con número ---")
for i, fruta in enumerate(frutas, 1):
    print(f"  {i}. {fruta}")

# Forma 3: con range() y len()
print("\n--- Con índice ---")
for i in range(len(frutas)):
    print(f"  frutas[{i}] = {frutas[i]}")
▶ Salida
--- Mis frutas ---
  • manzana
  • banano
  • naranja
  • fresa

--- Con número ---
  1. manzana
  2. banano
  3. naranja
  4. fresa

--- Con índice ---
  frutas[0] = manzana
  frutas[1] = banano
  frutas[2] = naranja
  frutas[3] = fresa

5Slicing: cortar listas

El slicing permite extraer partes de una lista usando la sintaxis lista[inicio:fin:paso]. Es una de las características más poderosas de Python.

slicing.py
numeros = [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]

print(numeros[2:5])    # [20, 30, 40]     → índice 2 al 4
print(numeros[:4])     # [0, 10, 20, 30]  → del inicio al 3
print(numeros[6:])     # [60, 70, 80, 90] → del 6 al final
print(numeros[::2])    # [0, 20, 40, 60, 80] → de 2 en 2
print(numeros[::-1])   # [90, 80, ... 0]  → lista invertida
print(numeros[1:8:3])  # [10, 40, 70]     → del 1 al 7, paso 3

6Ordenar y buscar en listas

ordenar_buscar.py
notas = [3.5, 4.8, 2.1, 4.0, 3.9, 4.5, 1.8]

# Ordenar (modifica la lista original)
notas.sort()
print("Ascendente:", notas)

notas.sort(reverse=True)
print("Descendente:", notas)

# sorted() crea una nueva lista sin modificar la original
original = [5, 2, 8, 1, 9]
ordenada = sorted(original)
print("Original:", original)   # sin cambios
print("Ordenada:", ordenada)   # nueva lista

# Buscar: in, min, max, sum
print("¿Está 4.8?", 4.8 in notas)
print("Nota mínima:", min(notas))
print("Nota máxima:", max(notas))
print("Promedio:", sum(notas) / len(notas))

7🏋️ Ejercicios Prácticos Resueltos

📋 Ejercicio 1: Gestión de lista de compras

Crea un programa que permita al usuario agregar, eliminar y mostrar productos de una lista de compras.

lista_compras.py
def gestionar_compras():
    compras = []

    while True:
        print("\n=== LISTA DE COMPRAS ===")
        print("1. Ver lista")
        print("2. Agregar producto")
        print("3. Eliminar producto")
        print("4. Salir")

        opcion = input("\nElige una opción: ")

        if opcion == "1":
            if not compras:
                print("Lista vacía 🛒")
            else:
                for i, producto in enumerate(compras, 1):
                    print(f"  {i}. {producto}")

        elif opcion == "2":
            producto = input("Nombre del producto: ")
            compras.append(producto)
            print(f"✅ '{producto}' agregado")

        elif opcion == "3":
            producto = input("Producto a eliminar: ")
            if producto in compras:
                compras.remove(producto)
                print(f"🗑 '{producto}' eliminado")
            else:
                print("Producto no encontrado ❌")

        elif opcion == "4":
            print("¡Hasta luego! 👋")
            break

gestionar_compras()
📋 Ejercicio 2: Estadísticas de notas

Dado un grupo de notas, calcula la mayor, menor, promedio, y cuántos estudiantes aprobaron.

estadisticas_notas.py
def estadisticas_notas(notas):
    aprobados  = [n for n in notas if n >= 3.0]
    reprobados = [n for n in notas if n < 3.0]

    print("\n===== ESTADÍSTICAS =====")
    print(f"Total estudiantes: {len(notas)}")
    print(f"Nota más alta:     {max(notas)}")
    print(f"Nota más baja:     {min(notas)}")
    print(f"Promedio:          {sum(notas)/len(notas):.2f}")
    print(f"Aprobados:         {len(aprobados)}")
    print(f"Reprobados:        {len(reprobados)}")

    notas_ord = sorted(notas, reverse=True)
    print(f"Ranking: {notas_ord}")

# Prueba con datos de ejemplo
mis_notas = [4.2, 2.8, 3.9, 4.7, 1.5, 3.3, 4.0, 2.1]
estadisticas_notas(mis_notas)
▶ Salida
===== ESTADÍSTICAS =====
Total estudiantes: 8
Nota más alta:     4.7
Nota más baja:     1.5
Promedio:          3.31
Aprobados:         5
Reprobados:        3
Ranking: [4.7, 4.2, 4.0, 3.9, 3.3, 2.8, 2.1, 1.5]

¿Te fue útil esta guía sobre listas? 📋

Déjanos un comentario con tus dudas. ¡Comparte con tus compañeros y suscríbete para más ejercicios resueltos!

PythonListasEstructuras de datosEjercicios resueltosProgramación
📖 Continúa aprendiendo
  • Diccionarios en Python — Guía Completa con Ejercicios
  • Funciones en Python: def, return y parámetros
  • Programación Orientada a Objetos en Python

Comentarios

Entradas populares de este blog

Cantidad de Alumnos Aprobados y Reprobados Pseint

Cantidad de Alumnos Aprobados y Reprobados Pseint Dada la identificación, Nombre y la nota final de un determinado Numero de estudiantes, realice un algoritmo que permita calcular y dar como salida lo siguiente: La Cantidad de Alumnos Aprobados  La Cantidad de Alumnos Reprobados  El Promedio General de Notas Nota: un estudiante aprueba con una calificación igual o superior a 3.0 en un rango de calificaciones entre 1.0 y 5.0. Algoritmo segundoEjercicio Escribir 'Ingrese la cantidad de estudiantes' Leer rango Dimension Identificacion[rango] Dimension Nombre[rango] Dimension Notas[rango] Para i<-1 Hasta rango Hacer Escribir 'Ingrese Nombre Estudiante N ',i Leer Nombre[i] Escribir 'Ingrese Numero de documento del Estudiante ',Nombre[i] Leer Identificacion[i] Escribir 'Ingrese Nota De ',Nombre[i] Leer Notas[i] promedio <- promedio+Notas[i] Si Notas[i]>=3 Entonces Aprob...

Resolver ecuación de segundo grado en JAVA

Pedir los coeficientes de una ecuación se 2º grado, y muestre sus soluciones reales. Si no existen, debe indicarlo. Una ecuación de segundo grado es toda expresión que cumpla la siguiente forma: ax² + bx +c = 0 con a ≠ 0. Para poder resolver el ejercicio debemos identificar las entradas , procesos y salidas. Entradas:{ a,b,c } Procesos: Para resolver una ecuación de segundo grado debemos aplicar la siguiente formula si a es negativo debemos realizar una proceso adicional que es multiplicar por -1 Salidas:{ x1, x2 } tendremos 2 respuestas para x. Desarrollo El problema nos dice que debemos pedir los coeficientes de la ecuación a,b y c.  Para esto debemos utilizar  la siguiente clase. import java.util.Scanner; // esta clase nos permite obtener datos  por teclado o archivos. Para usarla debemos crear un objeto. Scanner teclado = new Scanner(System.in); Ahora debemos declarar  las variables que vamos a usar ...

Conversor de sistema numéricos Pseint

Conversor de decimal  a sistemas numéricos Pseint Este ejercicio permite convertir del sistema numérico decimal a cual quier sistema numérico solo se debe ingresar el numero a convertir y la base del sistema al cual queremos convertir el numero ingresado. Convertir números decimales  a Binario. Convertir números decimales  a Octal. Convertir números decimales  a Hexadecimal. Algoritmo Conversor Dimension numeros[15] numeros[10] <- 'A' numeros[11] <- 'B' numeros[12] <- 'C' numeros[13] <- 'D' numeros[14] <- 'E' numeros[15] <- 'F' Escribir 'ingresar numero a convertir' Leer dec Escribir 'ingrese la base del sistema a convertir' Leer base valorF <- '' residuo <- 0 Repetir residuo <- dec MOD base dec <- trunc(dec/base) Si base=16 Entonces Si residuo>9 Entonces comparar <- numeros[residuo] resi <- comparar...

Calcular promedio general Pseint

Calcular promedio general Pseint Realice un programa que permita calcular y dar como salida el promedio general de un grupo de estudiantes , tomando en cuenta que esta compuesta por un determinado numero de estudiantes definidos por el usuario y que se tiene la nota definitiva de cada uno de ellos. Algoritmo Ejercicio2 Escribir 'Ingrese la cantidad de estudiantes' Leer rango Dimension Nombre[rango] Dimension Notas[rango] Para i<-1 Hasta rango Hacer Escribir 'Ingrese Nombre Estudiante N ',i Leer Nombre[i] Escribir 'Ingrese Nota De ',Nombre[i] Leer Notas[i] promedio <- promedio+Notas[i] FinPara PromedioG <- promedio/rango Escribir 'Promedio General: ',PromedioG FinAlgoritmo

Instalación de JDK de Java y Herramientas

Descarga e instalación de JDK de Java Paso 1.  Descarga del jdk Descargar JDK de Java En esta pagina encontraremos la versión mas actualizada del JDK de java  damos clic en la selección de la imagen Java Platform (JDK). Pagina Descarga JDK De Java En esta pagina encontraremos las diferentes opciones de descarga de JDK dependiendo de nuestro sistema operativo, es importante aceptar el acuerdo de licencia sin esto no dejara descargar el JDK. Aceptar acuerdo de licencia Una vez aceptado el acuerdo de licencia seleccionaremos la opción de descarga según nuestro sistema operativo. Selección opción descarga  Paso 2.  Instalación del JDK Una vez descargado el instalador del JDK, damos doble clic y dejamos los valores por defecto del instalador.  Esperamos a que la instalación termine Paso 3.  Instalación del JRE En la instalación del jdk nos instalara también el JRE dejaremos la ruta por de...

Introducción a los Conjuntos - Conceptos, Ejemplos y Aplicaciones

Introducción a los Conjuntos El concepto de conjunto es fundamental en matemáticas y se refiere a una colección de objetos bien definidos. En este artículo, exploraremos la definición de conjunto, su historia, propiedades y operaciones básicas, complementados con ejemplos prácticos y aplicaciones. ¿Qué es un Conjunto? Un conjunto es una colección de objetos, conocidos como elementos del conjunto. Los conjuntos pueden definirse de dos maneras: Extensión: Enumerando explícitamente todos sus elementos. Ejemplo: A = {1, 2, 3, 4} . Comprensión: Definiendo una propiedad común que todos sus elementos cumplen. Ejemplo: B = {x | x es un número par} . Ejemplos de conjuntos: A = {Laura, Gabriela, Diana} B = {Cuadrado, Rectángulo, Rombo, Trapecio} C = {2, 3, 5, 7, 11, 13, 17, 19, 23, 29} D = {x | x es un estudiante activo de la UN} Conjuntos Determinados por Extensión y Comprensión Cuando u...