Métodos de classificação integrados
O Python tem uma função de classificação rápida integrada chamada
sorted() e
sort(). Ele usa o
Timsort.
Considere usar as funções internas de classificação.
1) Obtendo uma nova matriz
B que corresponda à matriz
A classificada em ordem crescente (por padrão, classificação em ordem crescente):
B = classificado(A)
2) Obtendo um novo array B que corresponda ao array A classificado em ordem decrescente:
B = ordenado(A, reverso = Verdadeiro)
reverse - traduzido do inglês "reverse".
3) Para executar a classificação não padrão, é necessária uma chave de classificação - o argumento key.
Para classificar em ordem crescente pelo último dígito de um número, a chave será o último dígito do número.
Para fazer isso, você precisa escrever uma função que nos retorne a chave necessária - no nosso caso, o último dígito do número.
# uma função que retorna a chave de classificação
# - o último dígito do número
def último dígito(n):
retornar n% 10
B = classificado(A, chave = lastDigit)
4) Usando a função lambda - função sem nome.
Se você não deseja escrever uma função separada, devido à sua simplicidade, pode usar as chamadas funções lambda. Tais funções são escritas diretamente quando chamadas no parâmetro key.
B = classificado(A, chave = lambda x: x % 10)
5) Se você precisar classificar a matriz "no local" (sem alocar um array extra), é melhor usar o método sort().
Por exemplo, classificar o array A pelo último dígito em ordem decrescente se parece com isto:
A.sort(key = lambda x: x % 10, reverse = True)