Has aprendido a almacenar datos en listas y diccionarios; ahora toca controlarlos. ¿Cómo encuentras el valor más alto, ordenas nombres alfabéticamente o extraes solo la información relevante? En Python las funciones incorporadas sort, sorted y filter son herramientas esenciales para ello. La elección entre ellas suele responder a una pregunta simple: quieres modificar la lista original o crear una nueva copia
1. Ordenar: sort vs sorted
list.sort() es el organizador in situ. Ordena la lista sobre la que se invoca y devuelve None, por lo que modifica la lista original. Ejemplo: numbers = [42, 1, 17, 99] numbers.sort() print(numbers) # resultado: [1, 17, 42, 99]
sorted() es el creador de copias. Acepta cualquier iterable y devuelve una nueva lista ordenada dejando la original intacta. Ejemplo: numbers = [42, 1, 17, 99] sorted_numbers = sorted(numbers) print(sorted_numbers) # [1, 17, 42, 99] print(numbers) # [42, 1, 17, 99]
Cuándo usar cada una: usa list.sort cuando ya no necesites el orden original y quieres ahorrar memoria; usa sorted cuando necesites conservar la lista fuente para otras operaciones
2. Orden avanzado: el parámetro key
Para ordenar estructuras más complejas como listas de palabras, tuplas o registros, el parámetro key permite indicar la clave por la que se debe comparar cada elemento. Ejemplo por longitud: fruits = [apple, kiwi, banana, berry] fruits_sorted_by_length = sorted(fruits, key=len) # resultado: [kiwi, berry, apple, banana]
Ejemplo con tuplas que simulan registros: users = [(Alice, 30), (Bob, 25), (Charlie, 35)] users_sorted_by_age = sorted(users, key=lambda u: u[1]) # ordena por la segunda posición de la tupla
La función lambda es una función pequeña definida en línea que indica a Python qué valor usar para comparar cada elemento
3. Filtrar datos con filter
filter permite extraer elementos de un iterable que cumplan una condición. Forma tradicional con bucle: numbers = [1,2,3,4,5,6,7,8,9] evens = [] for num in numbers: if num % 2 == 0: evens.append(num) # evens = [2,4,6,8]
Con filter: numbers = [1,2,3,4,5,6,7,8,9] evens = list(filter(lambda x: x % 2 == 0, numbers)) # [2,4,6,8] filter devuelve un iterador, por eso se envuelve con list para ver los resultados
Nota sobre estilo pythonico: muchos desarrolladores prefieren las comprensiones de lista por su legibilidad; en el próximo artículo veremos cómo las comprensiones pueden sustituir a filter y map con un código más claro
Tu conjunto de herramientas para transformar datos
Con sort, sorted y filter pasas de almacenar datos a darles forma activamente. Recuerda: usa sorted para preservar datos originales y list.sort para reemplazarlos. key es la llave para ordenaciones personalizadas y filter es fundamental para extraer subconjuntos. Estas funciones son la base de la limpieza y preparación de datos, paso imprescindible antes de cualquier análisis avanzado
En Q2BSTUDIO somos especialistas en convertir estas capacidades en soluciones reales para empresas. Desarrollamos aplicaciones a medida y soluciones de inteligencia artificial que incluyen agentes IA, ia para empresas y servicios de inteligencia de negocio. También ofrecemos experiencia en ciberseguridad y pentesting, servicios cloud aws y azure, y en visualización y analítica con power bi para mejorar la toma de decisiones
Si necesitas software a medida, automatización de procesos, integración con servicios cloud o proyectos de inteligencia de negocio y analítica, en Q2BSTUDIO combinamos buenas prácticas en manejo de datos con arquitecturas seguras y escalables. Ponte en contacto para transformar tus datos en valor real