Classificar uma lista em Python permite que você organize seus itens em ordem crescente ou decrescente.

Em vez de escrever longos blocos de código para fazer isso, o Python possui um método integrado que permite classificar os itens em qualquer lista ou array. Explicaremos como fazer isso neste post.

Como classificar uma lista em Python

Você pode classificar os itens em uma lista ou array usando o Python ordenar() método.

O ordenar() método em Python aceita dois argumentos opcionais e a sintaxe é semelhante a esta:

list.sort (chave = função, reverso = Verdadeiro / Falso)

Por padrão, o ordenar() método organiza os itens de uma lista em ordem crescente:

minhaLista = ["C", "D", "B", "A", "F"]
myList.sort ()
imprimir (minhaLista)
Saída: ['A', 'B', 'C', 'D', 'F']

Você pode usar o marcha ré argumento para ver a lista em ordem decrescente:

minhaLista = ["C", "D", "B", "A", "F"]
myList.sort (reverse = True)
imprimir (minhaLista)
Saída: ['F', 'D', 'C', 'B', 'A']

Você também pode organizar os itens em uma lista pelo comprimento de cada string.

Para fazer isso, crie uma função e passe-a para o ordenar() método usando o opcional chave argumento:

myList = ["MUO", "Python", "JavaScript", "Sort", "Sortlists"]
def sortLength (item):
return len (item)
myList.sort (reverse = True, key = sortLength)
imprimir (minhaLista)
Resultado: ['JavaScript', 'Sortlists', 'Python', 'Sort', 'MUO']

Como classificar uma lista de dicionários em Python

Você pode usar o ordenar() método para classificar uma lista de dicionários também.

Vamos classificar as tarefas no dicionário abaixo por tempo:

myArray = [
{"Tarefa": "Lavar", "Tempo": 12h00},
{"Tarefa": "Futebol", "Tempo": 24.00},
{"Tarefa": "Classificar", "Tempo": 17h00},
{"Tarefa": "Código", "Tempo": 15,00}
]
def sortByTime (item):
devolver item ["Tempo"]
myArray.sort (key = sortByTime)
imprimir (meuVetor)

Como os valores de tempo são inteiros, o bloco de código acima reorganiza a matriz com base no tempo da tarefa.

Relacionado: Como matrizes e listas funcionam em Python

Além de classificar a matriz acima por tempo, você também pode organizá-la em ordem alfabética usando as tarefas, que são strings.

Para classificar por string na matriz de exemplo, você só precisa alterar Tempo no colchete para Tarefa:

myArray = [
{"Tarefa": "Lavar", "Tempo": 12h00},
{"Tarefa": "Futebol", "Tempo": 24.00},
{"Tarefa": "Classificar", "Tempo": 17h00},
{"Tarefa": "Código", "Tempo": 15,00}
]
def sortByTime (item):
item de retorno ["Tarefa"]
myArray.sort (key = sortByTime)
imprimir (meuVetor)

Você também pode classificar as tarefas na ordem inversa, definindo marcha ré para verdadeiro:

myArray.sort (key = sortByTime, reverse = True)

Você também pode use uma função lambda com ordenar() para código mais limpo:

myArray.sort (key = lambda getTime: getTime ["Time"])
imprimir (meuVetor)

Como classificar uma lista Python aninhada

Você pode classificar uma lista aninhada de tuplas pelo índice de cada elemento aninhado nessa lista.

Por exemplo, o código a seguir usa o terceiro item em cada tupla para classificar a lista em ordem crescente:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def sortByThirdIndex (a):
retornar um [2]
Alist.sort (key = sortByThirdIndex)
imprimir (Alist)
Resultado: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Na saída acima, o terceiro item em cada tupla aumenta de zero para vinte consecutivamente.

Observe que isso não funciona com um conjunto Python, pois você não pode indexá-lo. Além disso, cada ninho na lista deve pertencer ao mesmo tipo de dados.

Relacionado: O que é um conjunto em Python e como criar um

No entanto, para organizar a saída em ordem decrescente:

Alist.sort (key = getIndex, reverse = True)
imprimir (Alist)
Resultado: [(3, 19, 20), (1, 8, 15), (10, 19, 4), (7, 9, 3), (2, 6, 0)]

Vamos ver como fica com um lambda funcionar também:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = Sorted (Alist, key = lambda a: a [2])
imprimir (newList)
Resultado: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Como classificar uma lista usando o método Sorted ()

Alternativamente, você pode usar o classificado () método.

Embora funcione de forma semelhante ao ordenar() método, ele cria uma nova lista classificada sem modificar o original. Seu layout de sintaxe também é um pouco diferente.

A sintaxe para o classificado () método geralmente se parece com isto:

classificado (lista, chave = função, reverso = Verdadeiro / Falso)

Então, para classificar uma lista usando o classificado () método, você precisa criar uma nova variável para a lista classificada:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
def getIndex (a):
retornar um [2]
newList = Sort (Alist, key = getIndex)
imprimir (newList)
Resultado: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

O classificado () método também aceita um lambda funcionar como sua chave:

Alist = [(3, 19, 20), (2, 6, 0), (1, 8, 15), (7, 9, 3), (10, 19, 4)]
newList = Sorted (Alist, key = lambda a: a [2])
imprimir (newList)
Resultado: [(2, 6, 0), (7, 9, 3), (10, 19, 4), (1, 8, 15), (3, 19, 20)]

Onde você pode aplicar a classificação por lista?

Uma compreensão sólida do método de classificação Python é necessária para uma programação eficiente. Ele permite que você controle como uma lista ou array surge, e você sempre pode aplicá-lo em projetos da vida real. Por exemplo, classificar uma lista Python pode ser útil ao reorganizar dados de uma API ou banco de dados, portanto, faz mais sentido para o usuário final.

E-mail
Como acrescentar uma lista em Python

Trabalhando com listas em Python? Aqui está o que você precisa saber sobre como usar a função append do Python ao trabalhar com listas.

Leia a seguir

Tópicos relacionados
  • Programação
  • Pitão
  • Tutoriais de codificação
Sobre o autor
Idowu Omisola (66 artigos publicados)

Idowu é apaixonado por qualquer tecnologia inteligente e produtividade. Em seu tempo livre, ele brinca com codificação e muda para o tabuleiro de xadrez quando está entediado, mas também adora quebrar a rotina de vez em quando. Sua paixão por mostrar às pessoas o caminho da tecnologia moderna o motiva a escrever mais.

Mais de Idowu Omisola

Assine a nossa newsletter

Junte-se ao nosso boletim informativo para dicas de tecnologia, análises, e-books grátis e ofertas exclusivas!

Mais um passo…!

Confirme o seu endereço de e-mail no e-mail que acabamos de enviar.

.