Cómo ordenar una lista en Python sin la función de ordenamiento – Resuelto

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!