Hay dos maneras de ordenar una lista en orden ascendente o descendente en Python.
sort()
sorted()
Si desea ordenar una cadena o tupla, utilice sorted().
La siguiente información se proporciona aquí.
- Un método de tipo lista que ordena la lista original
sort()
- Generar una nueva lista ordenada, función incorporada: .
sorted()
- Cómo ordenar cadenas y tuplas
Ordenar la lista original, un método de tipo lista: sort()
sort() es un método de tipo lista.
Un proceso destructivo en el que se reescribe la propia lista original.
org_list = [3, 1, 4, 5, 2]
org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]
Tenga en cuenta que sort() devuelve None.
print(org_list.sort())
# None
El valor por defecto es el orden ascendente. Si desea ordenar en orden descendente, establezca el argumento reverse en true.
org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]
Generar una nueva lista ordenada, función integrada: sorted()
sorted() es una función incorporada.
Devuelve una lista ordenada cuando se especifica la lista a ordenar como argumento. Se trata de un proceso no destructivo que no modifica la lista original.
org_list = [3, 1, 4, 5, 2]
new_list = sorted(org_list)
print(org_list)
print(new_list)
# [3, 1, 4, 5, 2]
# [1, 2, 3, 4, 5]
Al igual que con sort(), el valor por defecto es el orden ascendente. Si desea ordenar en orden descendente, establezca el argumento reverse a true.
new_list_reverse = sorted(org_list, reverse=True)
print(org_list)
print(new_list_reverse)
# [3, 1, 4, 5, 2]
# [5, 4, 3, 2, 1]
Cómo ordenar cadenas y tuplas
Como las cadenas y las tuplas son inmutables, no hay ningún método sort() disponible para reescribir el objeto original.
Por otra parte, el argumento de la función sorted(), que genera una lista ordenada como un nuevo objeto, puede ser una cadena o tupla además de una lista. Sin embargo, como sorted() devuelve una lista, es necesario convertirla en una cadena o tupla.
Clasificación de cadenas
Cuando se especifica una cadena como argumento de la función sorted(), se devuelve una lista en la que cada carácter de la cadena ordenada se almacena como un elemento.
org_str = 'cebad'
new_str_list = sorted(org_str)
print(org_str)
print(new_str_list)
# cebad
# ['a', 'b', 'c', 'd', 'e']
Para concatenar una lista de cadenas en una sola, utilice el método join().
new_str = ''.join(new_str_list)
print(new_str)
# abcde
Si quiere ordenar en orden descendente, establezca el argumento reverse en true.
new_str = ''.join(sorted(org_str))
print(new_str)
# abcde
new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba
El tamaño de una cadena está determinado por el punto de código Unicode (código de carácter) del carácter.
Clasificación de tuplas
Las tuplas son lo mismo que las cadenas; especificar una tupla como argumento de la función sorted() devuelve una lista ordenada de elementos.
org_tuple = (3, 1, 4, 5, 2)
new_tuple_list = sorted(org_tuple)
print(org_tuple)
print(new_tuple_list)
# (3, 1, 4, 5, 2)
# [1, 2, 3, 4, 5]
Para convertir una lista en una tupla, utilice tuple().
new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)
Si quiere ordenar en orden descendente, establezca el argumento reverse en true.
new_tuple = tuple(sorted(new_tuple_list))
print(new_tuple)
# (1, 2, 3, 4, 5)
new_tuple_reverse = tuple(sorted(new_tuple_list, reverse=True))
print(new_tuple_reverse)
# (5, 4, 3, 2, 1)