Há duas maneiras de ordenar uma lista por ordem ascendente ou descendente em Python.
sort()
sorted()
Se quiser ordenar uma corda ou um tuple, use sort().
A seguinte informação é fornecida aqui.
- Um método de lista de tipos que classifica a lista original
sort()
- Gerar uma nova lista ordenada, função integrada: .
sorted()
- Como ordenar cordas e tufos
Classificar a lista original, um método de lista de tipos: sort()
sort() é um método do tipo lista.
Um processo destrutivo em que a própria lista original é reescrita.
org_list = [3, 1, 4, 5, 2]
org_list.sort()
print(org_list)
# [1, 2, 3, 4, 5]
Note-se que a sort() não devolve nenhuma.
print(org_list.sort())
# None
A ordem por defeito é ascendente. Se quiser ordenar por ordem decrescente, defina o argumento inverso para verdadeiro.
org_list.sort(reverse=True)
print(org_list)
# [5, 4, 3, 2, 1]
Gerar uma nova lista ordenada, função incorporada: ordenado()
classificado() é uma função integrada.
Devolve uma lista ordenada quando a lista a ser ordenada é especificada como um argumento. Este é um processo não destrutivo que não altera a 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]
Tal como com sort(), a ordem por defeito é ascendente. Se quiser ordenar por ordem decrescente, defina o argumento inverso para verdadeiro.
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]
Como ordenar cordas e tufos
Uma vez que as cordas e os tuplos são imutáveis, não existe nenhum método de tipo() disponível para reescrever o objecto original.
Por outro lado, o argumento da função sort(), que gera uma lista ordenada como um novo objecto, pode ser um fio ou um tuple, bem como uma lista. Contudo, uma vez que a função sorted() devolve uma lista, precisa de ser convertida para uma string ou tuple.
Classificar cordas
Quando uma cadeia é especificada como argumento da função sorted(), é devolvida uma lista na qual cada carácter da cadeia ordenada é armazenado como um 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 uma lista de cordas numa única corda, usar o método join().
new_str = ''.join(new_str_list)
print(new_str)
# abcde
Se quiser ordenar por ordem decrescente, ponha o argumento em ordem inversa à verdade.
new_str = ''.join(sorted(org_str))
print(new_str)
# abcde
new_str_reverse = ''.join(sorted(org_str, reverse=True))
print(new_str_reverse)
# edcba
O tamanho de uma cadeia é determinado pelo ponto de código Unicode (código de caracteres) do carácter.
Classificar tuplos
Os tuplos são o mesmo que as cordas; especificar um tuple como argumento da função ordenada() devolve uma 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 converter uma lista para um tuple, usar tuple().
new_tuple = tuple(new_tuple_list)
print(new_tuple)
# (1, 2, 3, 4, 5)
Se quiser ordenar por ordem decrescente, ponha o argumento em ordem inversa à verdade.
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)