Uso común de colecciones
namedtuple: Creación de objetos livianos
from collections import namedtuple
## Define a Point with x and y coordinates
Point = namedtuple('Point', ['x', 'y'])
p = Point(10, 20)
print(p.x, p.y) ## Output: 10 20
deque: Cola doblemente terminada eficiente
from collections import deque
## Create a double-ended queue
d = deque([1, 2, 3])
d.appendleft(0) ## Add to left
d.append(4) ## Add to right
print(d) ## Output: deque([0, 1, 2, 3, 4])
Counter: Conteo y seguimiento de ocurrencias
from collections import Counter
## Count word frequencies
words = ['apple', 'banana', 'apple', 'cherry']
word_count = Counter(words)
print(word_count) ## Output: Counter({'apple': 2, 'banana': 1, 'cherry': 1})
OrderedDict: Mantenimiento del orden de inserción
from collections import OrderedDict
## Create an ordered dictionary
od = OrderedDict()
od['first'] = 1
od['second'] = 2
od['third'] = 3
for key, value in od.items():
print(key, value)
defaultdict: Inicialización simplificada de diccionarios
from collections import defaultdict
## Create a defaultdict with list as default factory
dd = defaultdict(list)
dd['users'].append('Alice')
dd['users'].append('Bob')
print(dd) ## Output: defaultdict(<class 'list'>, {'users': ['Alice', 'Bob']})
Patrones de uso de colecciones
graph TD
A[Collections Usage] --> B[Data Counting]
A --> C[Efficient Storage]
A --> D[Order Preservation]
B --> E[Counter]
C --> F[deque]
D --> G[OrderedDict]
Escenarios prácticos
Tipo de colección |
Caso de uso |
Ejemplo |
namedtuple |
Estructuras de datos livianas |
Representación de coordenadas |
deque |
Operaciones eficientes de cola |
Programación de tareas |
Counter |
Análisis de frecuencia |
Conteo de palabras |
OrderedDict |
Mantenimiento del orden |
Configuración de ajustes |
defaultdict |
Diccionario simplificado |
Agrupación de datos |
Consideraciones de rendimiento
- Elija la colección adecuada para tareas específicas
- Tenga en cuenta la complejidad de memoria y tiempo
- Aproveche los métodos incorporados
Recomendación de LabEx
Practique estas colecciones en escenarios del mundo real para dominar su uso y mejorar sus habilidades de programación en Python.