Agrupación de listas en Python
Python es un lenguaje de programación de alto nivel que se ha vuelto cada vez más popular entre los desarrolladores debido a su facilidad de uso y versatilidad. Una de las características clave de Python es su soporte para listas, una estructura de datos potente que permite a los usuarios almacenar, organizar y manipular datos de manera flexible y eficiente. En este capítulo, profundizaremos en las listas de Python y proporcionaremos una guía completa para ayudarte a dominar su agrupación de manera efectiva.
Agrupar una lista significa organizar sus elementos en subgrupos basados en una característica o clave compartida. Este es un requisito común al procesar conjuntos de datos, filtrar registros o preparar datos para su análisis. Python proporciona varias herramientas integradas y módulos de la biblioteca estándar para lograr esto sin escribir bucles complejos.
from collections import defaultdict
data = [
{'category': 'fruit', 'name': 'apple'},
{'category': 'vegetable', 'name': 'carrot'},
{'category': 'fruit', 'name': 'banana'},
{'category': 'vegetable', 'name': 'broccoli'},
]
grouped = defaultdict(list)
for item in data:
grouped[item['category']].append(item)
print(dict(grouped))
# Output: {'fruit': [{'category': 'fruit', 'name': 'apple'}, {'category': 'fruit', 'name': 'banana'}], 'vegetable': [{'category': 'vegetable', 'name': 'carrot'}, {'category': 'vegetable', 'name': 'broccoli'}]}Este enfoque utiliza collections.defaultdict para inicializar automáticamente listas para nuevas claves, lo que facilita la agregación de elementos por un atributo específico. En las siguientes secciones, exploraremos técnicas adicionales, incluidas las comprensiones de diccionarios y itertools.groupby, para manejar diversos escenarios de agrupación de manera eficiente.
Práctica
¿Cuáles son las formas correctas de declarar una lista en Python?