Programación textual · Extraescolar · ESO y Bachillerato (12-18 años)
Python: listas, while, búsqueda y ordenación
Objetivo
Aprenderás a trabajar con listas y bucles while en Python y a comparar algoritmos de búsqueda y de ordenación.
En pocas palabras (lectura fácil)
Para madres, padres y tutores (1 minuto)
Explicación
Una lista guarda varios datos en orden: notas = [7, 5, 9]. Cada elemento tiene un índice que empieza en 0: notas[0] vale 7 y notas[-1] es el último. len(notas) devuelve 3 y notas.append(6) añade un 6 al final.
El bucle while repite mientras una condición sea verdadera. Hay que actualizar la variable de la condición dentro del bucle (por ejemplo, i = i + 1); si la condición nunca llega a ser falsa, tenemos un bucle infinito.
Búsqueda lineal: se revisan los elementos uno a uno. Funciona con cualquier lista, pero en el peor caso hace tantas comparaciones como elementos. Búsqueda binaria: solo sirve si la lista está ordenada; se mira el centro y se descarta la mitad en cada paso. En 1000 elementos necesita como mucho 10 comparaciones, porque 2^10 = 1024.
Ordenación por burbuja: se comparan elementos vecinos y se intercambian si están al revés; tras cada pasada, el mayor queda al final. Ordenación por selección: se busca el mínimo y se coloca delante, y así sucesivamente.
En Python, sorted(lista) devuelve una copia ordenada y lista.sort() ordena la misma lista. Conocer los algoritmos sirve para entender su eficiencia: con millones de datos, elegir bien ahorra mucho tiempo.
Idea clave: La búsqueda binaria es mucho más rápida que la lineal, pero exige que la lista esté ordenada.
Ejemplo resuelto: Buscamos el primer suspenso con while
- Paso 1 notas = [6, 8, 4, 7] e i = 0
- Paso 2 while i < len(notas) and notas[i] >= 5:
- Paso 3 i = i + 1 (avanza mientras la nota sea aprobada)
- Paso 4 Con i = 0 (nota 6) e i = 1 (nota 8) la condición se cumple y avanza.
- Paso 5 Con i = 2 la nota es 4: la condición es falsa y el bucle termina.
Resultado: El primer suspenso está en el índice 2. La condición i < len(notas) evita salirse de la lista si no hubiera ninguno.
Resumen
- Los índices de una lista empiezan en 0; len() da el número de elementos.
- while repite mientras la condición sea verdadera; hay que actualizarla.
- La búsqueda lineal sirve siempre; la binaria, solo con listas ordenadas.
- Burbuja compara vecinos; selección busca el mínimo.
- sorted() devuelve una copia; .sort() cambia la lista.
Más ayudas para esta unidad
Para saber más
Recursos seleccionados de fuentes fiables para explorar este tema. Ver todos
- Herramientas
- Herramientas
Code.org
- Herramientas
MIT App Inventor
- Herramientas
Blockly Games
Estado curricular: Currículo general LOMLOE · Competencias: CE1. Pensamiento computacional · CE2. Diseño de algoritmos · CE3. Depuración y comprobación · CE4. Eficiencia y análisis de algoritmos · Referencia: RD 217/2022 · Revisado el 27/10/2026