Menu
Coddy logo textTech

Desafío de repaso - Lambda Sort

Parte de la sección Logic & Flow del Journey de Python de Coddy — lección 59 de 78.

Las funciones lambda son increíblemente útiles con la función sorted() para personalizar el ordenamiento en diferentes escenarios. Aquí tienes algunos ejemplos:

Ordenando cadenas por longitud:

names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# Salida: ['Bob', 'Alice', 'Diana', 'Charlie']

Ordenando diccionarios por valores:

grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# Salida: [('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)
# Salida: [-10, 15, -20, 25]

Ordenación de tuplas por múltiples criterios:

data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# Salida: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]
challenge icon

Desafío

Fácil

Crea una función llamada sort_tuples que reciba una lista de tuplas data como argumento. Cada tupla en data contiene dos elementos: una cadena y un número. La función debe utilizar la función sorted() junto con una función lambda para ordenar la lista de tuplas basándose en el segundo elemento (el número) en orden ascendente. La función debe devolver la lista de tuplas ordenada.

Hoja de referencia

Ordenando cadenas por longitud:

names = ["Alice", "Bob", "Charlie", "Diana"]
sorted_names = sorted(names, key=lambda x: len(x))
print(sorted_names)
# Salida: ['Bob', 'Alice', 'Diana', 'Charlie']

Ordenando diccionarios por valores:

grades = {"Alice": 85, "Bob": 90, "Charlie": 78}
sorted_grades = sorted(grades.items(), key=lambda x: x[1])
print(sorted_grades)
# Salida: [('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)
# Salida: [-10, 15, -20, 25]

Ordenando tuplas por múltiples criterios:

data = [("Alice", 25), ("Bob", 30), ("Charlie", 25)]
sorted_data = sorted(data, key=lambda x: (x[1], x[0]))
print(sorted_data)
# Salida: [('Alice', 25), ('Charlie', 25), ('Bob', 30)]

Pruébalo tú mismo

def sort_tuples(data):
    # Escribe el código aquí
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Logic & Flow