Python - Listas de classificação
Classificar lista alfanumérica
Objetos de lista possuem um
sort()
método que ordenará a lista de forma alfanumérica, em ordem crescente, por padrão:
Exemplo
Classifique a lista em ordem alfabética:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort()
print(thislist)
Exemplo
Classifique a lista numericamente:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
Classificação decrescente
Para classificar de forma decrescente, use o argumento de palavra-chave reverse = True
:
Exemplo
Ordene a lista decrescente:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
Exemplo
Ordene a lista decrescente:
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
Personalizar a função de classificação
Você também pode personalizar sua própria função usando o argumento de palavra-chave .key =
function
A função retornará um número que será usado para ordenar a lista (o número mais baixo primeiro):
Exemplo
Classifique a lista com base em quão próximo o número está de 50:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key =
myfunc)
print(thislist)
Classificação sem distinção entre maiúsculas e minúsculas
Por padrão, o sort()
método diferencia maiúsculas de minúsculas, resultando em todas as letras maiúsculas classificadas antes das minúsculas:
Exemplo
A classificação com distinção entre maiúsculas e minúsculas pode fornecer um resultado inesperado:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
Felizmente, podemos usar funções internas como funções-chave ao classificar uma lista.
Portanto, se você deseja uma função de classificação que não diferencia maiúsculas de minúsculas, use str.lower como uma função de chave:
Exemplo
Execute uma classificação que não diferencia maiúsculas de minúsculas da lista:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key
= str.lower)
print(thislist)
Ordem reversa
E se você quiser inverter a ordem de uma lista, independentemente do alfabeto?
O reverse()
método inverte a ordem de classificação atual dos elementos.
Exemplo
Inverta a ordem dos itens da lista:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)