检查元素是否存在于元组的priorityQueue中

问题描述 投票:0回答:1

假设我有这个代码:

q = PriorityQueue()
a = ((1,1), 10, 0)
b = ((2,2), 99, 200)
q.put(a)
q.put(b)

我想检查元素

(1, 1)
是否存在于队列中的任何元组中。有办法做到这一点吗?

python queue priority-queue
1个回答
8
投票

PriorityQueue
对象将其项目存储在可通过
queue
属性
访问的列表中。因此,你可以这样做:

>>> q = PriorityQueue()
>>> a = ((1, 1), 10, 0)
>>> q.put(a)
>>> any((1, 1) in item for item in q.queue)
True

当然,这是一个 O(N) 操作,其中 N 是优先级队列中的元素数量。

© www.soinside.com 2019 - 2024. All rights reserved.