En Python, deque es una estructura de datos que forma parte del módulo collections. El nombre deque proviene de «double-ended queue» (cola de doble extremo), y ofrece una forma eficiente de realizar operaciones en ambos extremos de la cola, a diferencia de las listas normales en Python que son más eficientes para operaciones al final de la lista.
Características principales de deque:
- Operaciones en ambos extremos:
- Eficiencia:
- Uso de espacio:
Ejemplo de uso:
Aquí hay un ejemplo básico para ilustrar el uso de deque:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
from collections import deque # Crear un deque vacío d = deque() # Agregar elementos al final d.append('a') d.append('b') # Agregar elementos al inicio d.appendleft('z') d.appendleft('y') print("Deque después de adiciones:", d) # Eliminar elementos del final d.pop() # Eliminar elementos del inicio d.popleft() print("Deque después de eliminaciones:", d) |
Deque con tamaño máximo:
Puedes establecer un tamaño máximo para el deque, y el deque eliminará elementos del extremo opuesto cuando se alcanza el límite.
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
from collections import deque # Crear un deque con un tamaño máximo de 3 d = deque(maxlen=3) # Agregar elementos d.append(1) d.append(2) d.append(3) print("Deque con tamaño máximo:", d) # Agregar un nuevo elemento eliminará el elemento más antiguo d.append(4) print("Deque después de agregar 4:", d) |
En este caso, cuando agregas 4, el deque elimina el 1, ya que es el elemento más antiguo y el tamaño máximo se ha alcanzado.
El deque es muy útil cuando necesitas una estructura de datos que permita acceso rápido y eficiente a ambos extremos y cuando las operaciones de inserción y eliminación en estos extremos son comunes en tu aplicación.

