如何在 Python 中检查 deque 长度

如何在 python 中检查 deque 的长度?

我不认为他们在 Python 中提供了足够的长度..。

Http://docs.python.org/tutorial/datastructures.html

from collections import deque
queue = deque(["Eric", "John", "Michael"])

如何检查这个 deque 的长度?

我们可以初始化

queue = deque([])   #is this length 0 deque?
154715 次浏览

len(queue)应该给你结果,在这种情况下是3。

具体来说,len(object)函数将调用 object.__len__方法[ 参考链接]。本例中的对象是 deque,它实现了 __len__方法(您可以通过 dir(deque)看到它)。


queue= deque([])   #is this length 0 queue?

是的,对于空的 deque它将为0。

使用 queue.rear+1获取队列的长度

它很简单,只需要使用. qsize () 例如:

a=Queue()
a.put("abcdef")
print a.qsize() #prints 1 which is the size of queue

以上代码片段适用于 python 的 Queue()类。感谢 @ rayryyeng的更新。

对于 deque from collections,我们可以使用 len()作为指定的 给你K Z

是的,我们可以检查从集合创建的队列对象的长度。

from collections import deque
class Queue():
def __init__(self,batchSize=32):
#self.batchSie = batchSize
self._queue = deque(maxlen=batchSize)


def enqueue(self, items):
''' Appending the items to the queue'''
self._queue.append(items)


def dequeue(self):
'''remoe the items from the top if the queue becomes full '''
return self._queue.popleft()

创建类的对象

q = Queue(batchSize=64)
q.enqueue([1,2])
q.enqueue([2,3])
q.enqueue([1,4])
q.enqueue([1,22])

现在检索队列的长度

#check the len of queue
print(len(q._queue))
#you can print the content of the queue
print(q._queue)
#Can check the content of the queue
print(q.dequeue())
#Check the length of retrieved item
print(len(q.dequeue()))

在所附的屏幕截图中检查结果

enter image description here

希望这个能帮上忙。