Link Search Menu Expand Document
El Libro De Python (24.95 €) 39.95 €

Busca el número que falta

A continuación vamos a escribir una función que permite buscar los números que faltan en una lista.

  • 📝 Si tienes una lista con 0236.
  • 🔍 Se buscan los números que faltan, 145.

Podemos definir la función de la siguiente manera. Se crea la secuencia completa entre el menor y el mayor número, indicando cuales son todos los esperados. Después vemos si cada uno de ellos está en nums. Si no está, lo añadimos a faltan.

def encuentra_numeros(nums):
    min_num = min(nums)
    max_num = max(nums)
    faltan = []
    for i in range(min_num, max_num + 1):
        if i not in nums:
            faltan.append(i)
    return faltan

Ahora podemos usarla de la siguiente manera.


nums = [0, 2, 3, 6]
faltan = encuentra_numeros(nums)
print(faltan)
# [1, 4, 5]

✏️ Ejercicios:

  • Esta implementación es sencilla pero muy poco eficiente. Busca optimizarla para que tarde menos en buscar los números que faltan.