Ordenando Dados de Forma Eficiente
Parte da seção Logic & Flow do Journey de Python da Coddy. Lição 48 de 78.
Sorting é uma operação fundamental na ciência da computação, e Python oferece ferramentas integradas poderosas para ordenar data com eficiência. A principal função para ordenar é sorted(), que pode ser usada para ordenar vários tipos de data, incluindo numbers, strings e objetos mais complexos.
Sorting básico:
A função sorted() recebe um iterável (por exemplo, uma lista, uma tupla ou um conjunto) como argumento e retorna uma nova lista contendo os elementos sorted. Por padrão, ela faz a ordenação em ascending.
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
# Saída: [1, 1, 2, 3, 4, 5, 6, 9]Neste exemplo, sorted() ordena a lista numbers em ordem ascending.
Classificação reversa:
Para classificar em ordem descending, você pode usar o parâmetro reverse e defini-lo como True.
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)
# Saída: [9, 6, 5, 4, 3, 2, 1, 1]Aqui, sorted() classifica a lista numbers em ordem descending.
Sorting Strings:
A função sorted() também pode ordenar strings com base na ordem lexicográfica (ou seja, a ordem em que apareceriam em um dicionário).
words = ["apple", "banana", "cherry"]
sorted_words = sorted(words)
print(sorted_words)
# Saída: ['apple', 'banana', 'cherry']Neste exemplo, sorted() classifica a lista words em ordem alphabetically.
Classificação personalizada com a função key:
Para necessidades de classificação mais complexas, você pode usar o parâmetro key para especificar uma função que determina a ordem de classificação. A função key é aplicada a cada elemento antes da classificação, e os valores retornados são usados para comparação.
words = ["banana", "kiwi", "fig"]
sorted_words_by_length = sorted(words, key=len)
print(sorted_words_by_length)
# Saída: ['fig', 'kiwi', 'banana']Neste caso, sorted() ordena a lista words com base no comprimento de each palavra, usando a função len() como key.
Desafio
FácilEscreva um programa que execute as seguintes tarefas de Sorting usando a função sorted():
- Ordene uma lista de numbers em ascending order.
- Ordene a mesma lista de numbers em descending order.
- Ordene uma lista de strings em alphabetical order.
- Ordene a mesma lista de strings com base em seu length.
Experimente você mesmo
# Entradas iniciais
numbers = [5, 3, 8, 1, 2]
words = ["elephant", "cat", "dolphin", "bee"]
# Tarefa 1: Ordene os números em ordem crescente
# Tarefa 2: Ordene os números em ordem decrescente
# Tarefa 3: Ordene as palavras alfabeticamente
# Tarefa 4: Ordene as palavras por comprimento
# Substitua 'None' pelo seu código para cada tarefa
ascending_numbers = None
descending_numbers = None
alphabetical_words = None
length_sorted_words = None
# Imprima os resultados
print("Ascending:", ascending_numbers)
print("Descending:", descending_numbers)
print("Alphabetical:", alphabetical_words)
print("By Length:", length_sorted_words)Esta lição inclui um quiz rápido. Comece a lição para respondê-lo e acompanhar seu progresso.
Todas as lições de Logic & Flow
1Exploração de Variáveis
ConstantesAtribuição de Múltiplas VariáveisTroca de VariáveisVariáveis de Espaço ReservadoArredondar NúmerosCasting de Listas4Aplicativo de Agenda de Contatos
Exibir MenuAdicionar Contato7Conjuntos Parte 2
Operações Matemáticas Parte 1Operações Matemáticas Parte 2Revisão - Caça ao TesouroSubconjuntos e SuperconjuntosIterando sobre ConjuntosRevisão - Rastreador de Torneio10List Comprehensions Básicas
A SintaxeCriando Listas SimplesAdicionando CondiçõesUsando Agregação de DadosRecapitulação - House Of ListsRecapitulação - Elements Of Freedom13Sistema de Gerenciamento de Inventário
Visão Geral do ProjetoAdicionar Item2Dicionários Parte 1
O que é um Dicionário?Criando um DicionárioAcessando ValoresModificando DicionáriosRecapitulação - Gerenciador de Receitas5Tomada de Decisão Avançada
Operador TernárioVerificações de PertencimentoVerificações de IdentidadeErros de IndentaçãoRecapitulação - Filtro de Férias8Gerenciador de Registros de Alunos
Visão Geral do ProjetoAdicionar Aluno11Funções Avançadas
Retornando Múltiplos ValoresFunções Lambda Parte 1Funções Lambda Parte 2Desafio de Recapitulação - Lambda SortFunções Recursivas Parte 1Funções Recursivas Parte 2Recapitulação - Somar Listas Aninhadas14Funções de Ordem Superior
A Função MapA Função FilterRecapitulação - Validador de E-mailRecapitulação - Processador de Números3Dicionários Parte 2
Métodos de DicionárioDicionários AninhadosVerificando ChavesIterando em DicionáriosRecapitulação - Contador de Frequência6Conjuntos Parte 1
O que é um Conjunto?Operações BásicasMétodos de ConjuntosRecapitulação - Remover Duplicatas9Agregação de Dados Avançada
Usando SumEncontrando Mínimo e MáximoOrdenando Dados de Forma EficienteRecapitulação - Dictionary SorterPratique por conta própria: Compilador de Python online