2012-09-22 2 views
18

파이썬에서 대기열의 길이를 확인하는 방법은 무엇입니까?파이썬에서 대기열 길이를 확인하는 방법

나는 그들이 파이썬에서 Queue.lenght을 제공 참조 해달라고

....

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

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

방법이 큐의 길이를 확인하려면?

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

당신이 시도해 봤어'(큐) '렌? 이것이 대개 파이썬이 요소 수를 처리하는 방법입니다. – mjgpy3

답변

26

len(queue) 당신이 경우에 결과 3 주어야한다처럼

가 우리는 초기화 할 수 있습니다.

특히 len(object) 함수는 object.__len__ 메서드 [reference link]를 호출합니다. 이 경우 객체는 deque이며 __len__ 메서드를 구현합니다 (dir(deque)로 볼 수 있음).


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

예 비어 deque 0이 될 것이다.

+2

AttributeError : 대기열 인스턴스에 '__len__'속성이 없습니다. 대신 Qsize()를 사용했습니다. https://docs.python.org/2.7/library/queue.html – memo

+0

@memo : 질문 본문을 읽으십시오. 'collections.deque'는'queue.Queue'와 다릅니다. 후자는 크기가 다른 스레드에서 변경 될 수있는 다중 스레드의 경우에 사용될 것으로 예상됩니다. – jfs

-3

사용 queue.rear+1는 큐

9

의 길이를 얻을 그것은 간단 단지 .qsize()를 사용 예 :

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