O Python oferece duas maneiras de classificar uma lista, o método de lista integrado lista.sort() e a função integrada sorted(). Embora ambos classifiquem os elementos de uma lista, se usados incorretamente, podem produzir resultados inesperados ou indesejados.
Diferenças e semelhanças entre sort() e sorted()
A principal diferença entre os dois é que lista.sort() ordenará a lista no local, alterando seus índices e retornando None, enquanto sorted() retornará uma nova lista ordenada deixando a lista original inalterada.
Outra diferença é que sorted() aceita qualquer iterável enquanto lista.sort() é um método da classe list e só pode ser usado com listas.
numeros = [2, 3, 1, 5, 6, 4, 0]
print(sorted(numeros))
print(numeros)
print(numeros.sort())
print(numeros)
Saída: -----------------------------------
[0, 1, 2, 3, 4, 5, 6]
[2, 3, 1, 5, 6, 4, 0]
None
[0, 1, 2, 3, 4, 5, 6]
Ambos lista.sort() e sorted() têm a mesma chave e argumentos opcionais reversos e podem ser chamados em cada elemento da lista antes de fazer comparações.
Quando usar cada um
lista.sort() deve ser usado sempre que se pretende alterar a lista e não se deseja recuperar a ordem original dos elementos. Por outro lado, sorted() deve ser usado quando o objeto a ser classificado é um iterável (por exemplo, lista, tupla, dicionário, string) e o resultado desejado é uma lista classificada contendo todos os elementos.
0 Comentários