Menu
Coddy logo textTech

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)]
challenge icon

Desafio

Fácil

Crie 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 aqui
quiz iconTeste seus conhecimentos

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