Ordenar una lista en Python es una tarea común que se puede realizar de varias maneras. En este artículo, aprenderemos cómo ordenar una lista sin utilizar la función de ordenamiento incorporada en Python.
Usando el método de burbuja
Una de las maneras más sencillas de ordenar una lista es utilizando el método de burbuja. Este método consiste en comparar elementos adyacentes y intercambiarlos si están en el orden incorrecto. Repetimos este proceso hasta que la lista esté completamente ordenada.
def ordenar_lista(lista):
n = len(lista)
for i in range(n):
for j in range(0, n-i-1):
if lista[j] > lista[j+1]:
lista[j], lista[j+1] = lista[j+1], lista[j]
# Ejemplo de uso
mi_lista = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
ordenar_lista(mi_lista)
print(mi_lista)
En el código anterior, definimos una función llamada ordenar_lista
que implementa el método de burbuja para ordenar una lista dada. Luego, creamos una lista de ejemplo mi_lista
y la ordenamos llamando a la función ordenar_lista
.
Usando la función sorted con una función de comparación
Otra forma de ordenar una lista sin utilizar la función de ordenamiento es utilizando la función sorted
con una función de comparación personalizada.
def comparacion_personalizada(x):
return x % 2 # Ordenar por números pares e impares
mi_lista = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
mi_lista_ordenada = sorted(mi_lista, key=comparacion_personalizada)
print(mi_lista_ordenada)
En el código anterior, definimos una función llamada comparacion_personalizada
que devuelve el residuo de un número entre 2 (es decir, 0 para números pares y 1 para números impares). Luego, utilizamos la función sorted
con la clave de ordenamiento comparacion_personalizada
para ordenar la lista mi_lista
según nuestra función de comparación personalizada.
Estas son solo dos formas de ordenar una lista en Python sin utilizar la función de ordenamiento incorporada. ¡Experimenta con estas técnicas y descubre cuál funciona mejor para tus necesidades!