Ordenar una lista alfabéticamente en Python
-
Utilizar el método
sort()
para ordenar una lista alfabéticamente en Python -
Usa la función
sorted()
para ordenar una lista alfabéticamente en Python - Usar el algoritmo de ordenación rápida para ordenar una lista alfabéticamente en Python
En este tutorial, discutiremos cómo ordenar una lista que contiene cadenas alfabéticamente usando las funciones sort()
y sorted()
y usando el algoritmo de ordenación rápida.
Tanto sort()
como sorted()
pueden realizar la misma función, con la principal diferencia de que la función sort()
ordena la lista original, mientras que la función sorted()
crea una nueva lista.
Utilizar el método sort()
para ordenar una lista alfabéticamente en Python
El método sort()
del objeto list se utiliza para ordenar una lista. Por defecto, ordena la lista en orden ascendente. Por ejemplo:
my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
my_list.sort()
print(my_list)
Producción :
['Baron', 'Jack', 'Jay', 'Mark', 'Sam']
Para ordenar la lista en orden inverso podemos utilizar el parámetro reverse
y ponerlo a True
. Por defecto es False
. Por ejemplo:
my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
my_list.sort(reverse=True)
print(my_list)
Producción :
['Sam', 'Mark', 'Jay', 'Jack', 'Baron']
Observe que el orden de la lista ordenada se ha invertido. También podemos especificar la condición para ordenar usando el parámetro key
. En el código siguiente, ordenaremos la lista en base a la longitud de la cadena de cada elemento en orden ascendente:
my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
my_list.sort(key=len)
print(my_list)
Producción :
['Sam', 'Jay', 'Mark', 'Jack', 'Baron']
Usa la función sorted()
para ordenar una lista alfabéticamente en Python
La función sorted()
también ordena una lista en el orden requerido, pero crea una nueva lista y no altera la lista original. Para ordenar alfabéticamente en orden ascendente, simplemente la pasamos a la función como se muestra a continuación.
my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
sorted_list = sorted(my_list)
print(sorted_list)
Producción :
['Baron', 'Jack', 'Jay', 'Mark', 'Sam']
De forma similar al método sort()
, podemos ordenar en orden descendente utilizando el parámetro reverse
. Por ejemplo:
my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
sorted_list = sorted(my_list, reverse=True)
print(sorted_list)
Producción :
['Sam', 'Mark', 'Jay', 'Jack', 'Baron']
También podemos utilizar el parámetro key
para especificar la condición de ordenación como hicimos con la función sort()
. Por ejemplo:
my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
sorted_list = sorted(my_list, reverse=True, key=len)
print(sorted_list)
Producción :
['Baron', 'Mark', 'Jack', 'Sam', 'Jay']
Usar el algoritmo de ordenación rápida para ordenar una lista alfabéticamente en Python
También podemos utilizar el algoritmo de ordenación rápida para ordenar una lista. Este método puede ser poco convencional, pero vale la pena señalar que otras técnicas de ordenación como la ordenación por fusión, la ordenación por selección, la ordenación por inserción, la ordenación por montón y la ordenación por burbuja también pueden lograr esto. El siguiente código muestra una función que implementa el método quicksort para ordenar una lista en Python.
my_list = ["Jack", "Sam", "Jay", "Mark", "Baron"]
def quicksort(lst):
if not lst:
return []
return (
quicksort([x for x in lst[1:] if x < lst[0]])
+ [lst[0]]
+ quicksort([x for x in lst[1:] if x >= lst[0]])
)
print(quicksort(my_list))
Producción :
['Baron', 'Jack', 'Jay', 'Mark', 'Sam']
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedInArtículo relacionado - Python List
- Convertir un diccionario en una lista en Python
- Eliminar todas las apariciones de un elemento de una lista en Python
- Eliminar duplicados de una lista en Python
- Cómo obtener el promedio de una lista en Python
- ¿Cuál es la diferencia entre los métodos de lista que añaden y amplían
- Cómo convertir una lista en cadena en Python