[Python-es] cola con prioridad

Pepe Aracil pepe en diselpro.com
Mar Mar 1 21:40:41 CET 2011


Hola Sergio.

Queue.PriorityQueue no tiene ningún método para eliminar una entrada dentro
de la cola (sin contar con get)

Collections.deque solo es eficiente a la hora de insertar o borrar un
elemento
en los extremos de la cola.

Según me comenta JCea en la lista python de jabber una posible solución
podrian ser una sortedlist del módulo blist [1].

Saludos.


[1] http://pypi.python.org/pypi/blist/



El 1 de marzo de 2011 20:20, Sergio Fernández <sergio en wikier.org> escribió:

> a parte de heapq, al menos que yo sepa hay dos implementaiones
> alternativas:
>
> - Queue.PriorityQueue
> http://docs.python.org/library/queue.html#Queue.PriorityQueue
> - collections.deque
> http://docs.python.org/library/collections.html#collections.deque
>
> no sé si collections.deque.clear() es lo que buscas....
>
> 2011/3/1 Pepe Aracil <pepe en diselpro.com>:
> > Hola lista.
> > Necesito montar una cola con prioridad, para esto esta el módulo heapq.
> > Pero el caso es que necesito de vez en cuando cancelar entradas de la
> cola.
> >
> > Se me ha ocurrido meter en un "set" las entradas canceladas y comparar la
> > salida del heapq con dicho "set" y desecharla si está cancelada.
> >
> > ¿Alguna idea mejor?
> >
> >
> >
> >
> > _______________________________________________
> > Python-es mailing list
> > Python-es en python.org
> > http://mail.python.org/mailman/listinfo/python-es
> > FAQ: http://python-es-faq.wikidot.com/
> >
> >
>
>
>
> --
> __      ___ _   _
> \ \    / (_) |_(_)___ _ _
>  \ \/\/ /| | / / / -_) '_|  Sergio Fernández
>   \_/\_/ |_|_\_\_\___|_|    http://www.wikier.org/
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20110301/106e2ac9/attachment.html>


Más información sobre la lista de distribución Python-es