Ordenar datos de manera eficiente
Parte de la sección Logic & Flow del Journey de Python de Coddy. Lección 48 de 78.
Sorting es una operación fundamental en la informática, y Python ofrece herramientas integradas potentes para ordenar data de manera eficiente. La función principal para Sorting es sorted(), que se puede utilizar para ordenar varios tipos de data, incluidos numbers, cadenas y objetos más complejos.
Sorting básico:
La función sorted() toma un iterable (por ejemplo, una lista, una tupla o un conjunto) como argumento y devuelve una lista nueva que contiene los elementos sorted. De forma predeterminada, ordena en orden ascending.
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers = sorted(numbers)
print(sorted_numbers)
# Salida: [1, 1, 2, 3, 4, 5, 6, 9]En este ejemplo, sorted() ordena la lista numbers en orden ascending.
Ordenación inversa:
Para ordenar en orden descending, puedes usar el parámetro reverse y establecerlo en True.
numbers = [3, 1, 4, 1, 5, 9, 2, 6]
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc)
# Salida: [9, 6, 5, 4, 3, 2, 1, 1]Aquí, sorted() ordena la lista de numbers en orden descending.
Sorting Strings:
La función sorted() también puede ordenar cadenas según su orden lexicográfico (es decir, el orden en que aparecerían en un diccionario).
words = ["apple", "banana", "cherry"]
sorted_words = sorted(words)
print(sorted_words)
# Salida: ['apple', 'banana', 'cherry']En este ejemplo, sorted() ordena la lista words en orden alphabetically.
Ordenación personalizada con una función key:
Para necesidades de ordenación más complejas, puedes usar el parámetro key para especificar una función que determine el orden de ordenación. La función key se aplica a cada elemento antes de la ordenación, y los valores devueltos se utilizan para la comparación.
words = ["banana", "kiwi", "fig"]
sorted_words_by_length = sorted(words, key=len)
print(sorted_words_by_length)
# Salida: ['fig', 'kiwi', 'banana']En este caso, sorted() ordena la lista words según la longitud de cada palabra, utilizando la función len() como key.
Desafío
FácilEscribe un programa que realice las siguientes tareas de Sort usando la función sorted():
- Sort una lista de numbers en ascending.
- Sort la misma lista de numbers en descending.
- Sort una lista de strings en alphabetical.
- Sort la misma lista de strings según su length.
Pruébalo tú mismo
# Entradas iniciales
numbers = [5, 3, 8, 1, 2]
words = ["elephant", "cat", "dolphin", "bee"]
# Tarea 1: Ordena los números en orden ascendente
# Tarea 2: Ordena los números en orden descendente
# Tarea 3: Ordena las palabras alfabéticamente
# Tarea 4: Ordena las palabras por longitud
# Reemplaza 'None' con tu código para cada tarea
ascending_numbers = None
descending_numbers = None
alphabetical_words = None
length_sorted_words = None
# Imprime los resultados
print("Ascending:", ascending_numbers)
print("Descending:", descending_numbers)
print("Alphabetical:", alphabetical_words)
print("By Length:", length_sorted_words)Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Logic & Flow
1Exploración de variables
ConstantesAsignación de múltiples variablesIntercambio de variablesVariables de marcador de posiciónRedondear númerosCasting de listas4Aplicación de Agenda de Contactos
Mostrar MenúAgregar Contacto7Conjuntos Parte 2
Operaciones matemáticas Parte 1Operaciones matemáticas Parte 2Resumen - Búsqueda del tesoroSubconjuntos y superconjuntosIterar sobre conjuntosResumen - Rastreador de torneos10Comprensión de listas básica
La sintaxisCreación de listas simplesAñadir condicionesUso de agregación de datosResumen - La casa de las listasResumen - Elementos de libertad13Sistema de Gestión de Inventarios
Descripción general del proyectoAgregar artículo2Diccionarios Parte 1
¿Qué es un diccionario?Crear un diccionarioAcceder a los valoresModificar diccionariosResumen - Gestor de recetas5Toma de decisiones avanzada
Operador ternarioComprobaciones de pertenenciaComprobaciones de identidadErrores de sangríaRepaso - Filtro de vacaciones8Gestor de registros de estudiantes
Descripción general del proyectoAñadir estudiante11Funciones avanzadas
Retornar múltiples valoresFunciones Lambda Parte 1Funciones Lambda Parte 2Desafío de repaso - Lambda SortFunciones recursivas Parte 1Funciones recursivas Parte 2Repaso - Sumar listas anidadas14Funciones de orden superior
La función MapLa función FilterRepaso - Validador de emailsRepaso - Procesador de números3Diccionarios Parte 2
Métodos de diccionariosDiccionarios anidadosVerificación de clavesIterar sobre diccionariosResumen - Contador de frecuencia6Conjuntos - Parte 1
¿Qué es un conjunto?Operaciones básicasMétodos de conjuntosResumen - Eliminar duplicados9Agregación de datos avanzada
Uso de SumBúsqueda de mínimo y máximoOrdenar datos de manera eficienteRepaso - Ordenador de diccionariosPractica por tu cuenta: Compilador de Python online