Saltar al contenido

Ordenar listas

Python es un lenguaje de programación potente que viene con muchas funciones y bibliotecas integradas. Las listas son un tipo de dato integrado fundamental en Python, que proporciona herramientas potentes para gestionar colecciones de elementos. Ordenar una lista es una tarea común en la programación, y Python proporciona una forma simple y eficiente de ordenar listas utilizando funciones integradas. En este artículo, discutiremos los diferentes métodos disponibles para ordenar listas en Python, incluidas las funciones integradas sorted() y sort().

La función sorted()

La función sorted() es una función integrada de Python que devuelve una lista ordenada a partir de un objeto iterable. La función se puede usar para ordenar cualquier objeto iterable, incluidas listas, tuplas y cadenas. La función sorted() crea una nueva lista ordenada y deja la lista original sin cambios.

Ordenar una lista de datos simples en Python

python
fruits = ['apple', 'banana', 'cherry', 'durian', 'elderberry']
sorted_fruits = sorted(fruits)
print(sorted_fruits)

Salida:


console
['apple', 'banana', 'cherry', 'durian', 'elderberry']

La función sort()

El método sort() es un método integrado de Python que ordena una lista in situ. A diferencia de la función sorted(), que devuelve una nueva lista ordenada, la función sort() modifica la lista original directamente y devuelve None. La función sort() ordena la lista en orden ascendente de forma predeterminada, pero se puede revertir para ordenar la lista en orden descendente.

Ordenar una lista en Python modificando la lista original

python
fruits = ['apple', 'banana', 'cherry', 'durian', 'elderberry']
fruits.sort()
print(fruits)

Salida:


console
['apple', 'banana', 'cherry', 'durian', 'elderberry']

Para ordenar la lista en orden descendente, podemos pasar el argumento reverse=True a la función sort().

Ordenar una lista en Python en orden descendente

python
fruits = ['apple', 'banana', 'cherry', 'durian', 'elderberry']
fruits.sort(reverse=True)
print(fruits)

Salida:


console
['elderberry', 'durian', 'cherry', 'banana', 'apple']

Ordenar listas con una función clave

A veces, puede que queramos ordenar una lista basándonos en un criterio específico. Por ejemplo, podemos querer ordenar una lista de tuplas en función del segundo elemento de cada tupla. En tales casos, podemos usar el argumento key para especificar una función que devuelva el valor que se va a ordenar.

Ordenar una lista de tuplas en Python en función del segundo elemento de la tupla

python
fruits = [('apple', 10), ('banana', 5), ('cherry', 20), ('durian', 15), ('elderberry', 25)]
sorted_fruits = sorted(fruits, key=lambda x: x[1])
print(sorted_fruits)

Salida:


console
[('banana', 5), ('apple', 10), ('durian', 15), ('cherry', 20), ('elderberry', 25)]

En el ejemplo anterior, utilizamos una función lambda para ordenar la lista de tuplas en función del segundo elemento de cada tupla.

Conclusión

Ordenar listas es una tarea esencial en la programación, y Python proporciona una forma simple y eficiente de ordenar listas utilizando funciones integradas. En este artículo, cubrimos las dos funciones integradas de Python, sorted() y sort(), y cómo ordenar una lista en función de un criterio específico.

Práctica

¿Qué métodos puedes usar para ordenar listas en Python?

¿Te resulta útil?

Vista previa dual-run — compárala con las rutas Symfony en producción.