Desafio de Recapitulação - Lambda Sort
Parte da seção Logic & Flow do Journey de Python da Coddy — lição 59 de 78.
As funções lambda são incrivelmente úteis com a função sorted() para personalizar a ordenação em diferentes cenários. Aqui estão alguns exemplos:
Ordenando Strings pelo Tamanho:
names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# Saída: ['Bob', 'Alice', 'Diana', 'Charlie']Ordenando Dicionários por Valores:
grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# Saída: [('Charlie', 78), ('Alice', 85), ('Bob', 90)]Ordenando Números pelo Valor Absoluto:
numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# Saída: [-10, 15, -20, 25]Ordenando Tuplas por Múltiplos Critérios:
data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# Saída: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]Desafio
FácilCrie uma função chamada sort_tuples que recebe uma lista de tuplas data como argumento. Cada tupla em data contém dois elementos: uma string e um número. A função deve usar a função sorted() juntamente com uma função lambda para ordenar a lista de tuplas com base no segundo elemento (o número) em ordem crescente. A função deve retornar a lista de tuplas ordenada.
Folha de consulta
Ordenando Strings por Comprimento:
names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# Saída: ['Bob', 'Alice', 'Diana', 'Charlie']Ordenando Dicionários por Valores:
grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# Saída: [('Charlie', 78), ('Alice', 85), ('Bob', 90)]Ordenando Números por Valor Absoluto:
numbers = [-10, 15, -20, 25]
sorted_numbers = sorted(numbers, key=lambda x: abs(x))
print(sorted_numbers)
# Saída: [-10, 15, -20, 25]Ordenando Tuplas por Múltiplos Critérios:
data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# Saída: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]Experimente você mesmo
def sort_tuples(data):
# Escreva o código aquiEsta 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 Sorter