En este post vamos a ver distintos métodos y formas de ordenar arreglos o listas en el lenguaje de programación Python.

No vamos a ver cuál es más eficiente, solo vamos a ver los métodos nativos y los métodos manuales, aunque me parece que los métodos nativos (algoritmo Timsort) serán más rápidos y eficientes la mayoría de veces.

Ordenar listas en Python

Nota: como en otros tutoriales de Python, en este caso me referiré a lista y arreglo como lo mismo.

Ordenar usando sort

La forma más fácil y eficiente de ordenar un arreglo en Python es usando funciones nativas. Comencemos viendo la función sort. Esta función modifica internamente a la lista, de modo que no debemos esperar el valor de retorno.

La función ordena listas de datos primitivos como enteros, flotantes y cadenas. La sintaxis es:

lista.sort()

Te repito que la función no devuelve nada; ordena internamente al arreglo. Veamos el siguiente ejemplo:

Como se puede observar en la salida, al invocar a sort tendremos el arreglo ya ordenado. Esto no nos conviene si queremos preservar el original, pero para ello veremos una función a continuación.

Puedes probar el código en este enlace.

Sobre sorted: ordenar y regresar arreglo

Ahora veamos la función sorted. Esta función igualmente es nativa pero no modifica a la lista; sino que regresa el resultado. Funciona así:

El ordenamiento es el mismo, lo que cambia es que esta función no ordena internamente, sino que lo ordena y regresa la copia ordenada.

Relacionado:  C - Saber si dos arreglos o matrices son iguales

Otra cosa distinta es que en este caso la función no es invocada a partir del arreglo, sino que se le envía el arreglo a la función.

Puedes probar el código en este enlace.

Orden inverso

Por defecto, la función sorted y sort ordenan de manera ascendente; es decir, de menor a mayor ya sea numérica o alfabéticamente. Para invertir el orden podemos pasar la opción reverse.

Veamos el siguiente ejemplo:

En este caso indicando el argumento reverse en True, el arreglo será ordenado de manera inversa, es decir, descendente o de mayor a menor, tanto para strings como para enteros y flotantes.

Pruébalo acá.

Otras funciones de ordenamiento

Hasta el momento hemos visto cómo ordenar arreglos usando sort y sorted, ya sea de enteros o cadenas y de manera ascendente o descendente.

Sin embargo la vida real es más compleja así que te dejo otros tutoriales si por ejemplo tu profesor te solicita implementar el algoritmo quicksort o burbuja. También puede que quieras ordenar un arreglo complejo, por ejemplo, uno de diccionarios.

Te dejo también más tutoriales de Python.


Estoy disponible para trabajar en tu proyecto o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.
Si el post fue de tu agrado muestra tu apoyo compartiéndolo, suscribiéndote al blog, siguiéndome o realizando una donación.

Suscribir por correo

Ingresa tu correo y recibirás mis últimas entradas sobre programación, open source, bases de datos y todo lo relacionado con informática

Únete a otros 750 suscriptores


parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

0 Comments

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

A %d blogueros les gusta esto: