En este post de programación en Python te enseñaré cómo obtener el elemento mayor de una lista, así como el elemento menor. Ten en cuenta que yo me referiré a lista, array y arreglo como sinónimos.
Al final tendremos dos funciones que van a recibir un arreglo y devolver, respectivamente, el menor y mayor elemento de la lista, sin importar el tipo de dato.
Explicación del algoritmo
Antes de pasar al código veamos el funcionamiento. Pondré el ejemplo para el elemento mayor. Primero debemos inicializar la variable del elemento mayor con un valor del arreglo, yo lo hago siempre con el del índice 0.
Después recorremos el arreglo elemento por elemento y comparamos cada elemento con el que es mayor hasta ahora. Si el elemento actual es mayor que el mayor hasta ahora, entonces el mayor hasta ahora es el elemento actual.
Al terminar de recorrer el arreglo tendremos el elemento mayor, mismo que ya podemos regresar en la función. Lo mismo se aplica para sacar el elemento menor de la lista.
Mayor del arreglo
Para sacar el mayor del arreglo aplicamos el algoritmo. En este caso comparamos si el elemento es mayor con >
:
def mayor_de_arreglo(arreglo):
# Supongamos que el mayor es el primero solo para tener un valor para inicializar
mayor = arreglo[0]
# Recorrer y buscar
for elemento in arreglo:
if elemento > mayor:
mayor = elemento
return mayor
Como puedes ver esto va a funcionar con listas de todo tipo, ya sea de enteros, flotantes o incluso cadenas.
Obtener menor de arreglo con Python
Ahora veamos el caso contrario para obtener el elemento más pequeño de una lista. Solo cambiamos el nombre de la variable y el operador de comparación, quedando así:
def menor_de_arreglo(arreglo):
menor = arreglo[0]
for elemento in arreglo:
if elemento < menor:
menor = elemento
return menor
Poniendo todo junto
Ha llegado el momento de ejecutar el código. En este caso he definido una lista de números enteros. El código completo queda así:
"""
https://parzibyte.me/blog
"""
def mayor_de_arreglo(arreglo):
# Supongamos que el mayor es el primero solo para tener un valor para inicializar
mayor = arreglo[0]
# Recorrer y buscar
for elemento in arreglo:
if elemento > mayor:
mayor = elemento
return mayor
def menor_de_arreglo(arreglo):
menor = arreglo[0]
for elemento in arreglo:
if elemento < menor:
menor = elemento
return menor
# Probar
arreglo = [0, -1, 4, 6000, 1, 2, 1400, -10, 90, 13, 7, 12, 500, 16]
mayor = mayor_de_arreglo(arreglo)
menor = menor_de_arreglo(arreglo)
print(f"Del arreglo {arreglo} el mayor es {mayor} y el menor es {menor}")
Al ejecutarlo, la salida es correcta tanto para el elemento mayor como el elemento menor:
Este algoritmo ya lo había aplicado para obtener el menor y mayor de 3 números en otro de mis posts.
Te dejo con más contenido sobre Python en mi blog.