2012-09-22 15 views
18

में कतार की लंबाई को कैसे जांचें पाइथन में कतार की लंबाई को कैसे जांचें?पायथन

मैं देख रहा हूँ कि वे अजगर में Queue.lenght प्रदान न ....

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

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

कैसे इस कतार की लंबाई की जाँच के लिए?

और हम प्रारंभ की तरह

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

आप का प्रयास किया था 'LEN (कतार)'? आमतौर पर पाइथन तत्व की गणना कैसे करता है। – 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

विशेषताएँ त्रुटि: कतार के उदाहरण में कोई विशेषता नहीं है '__len__' मैंने qsize() का उपयोग किया है इसके बजाय https://docs.python.org/2.7/library/queue.html – memo

+0

@memo: प्रश्न निकाय पढ़ें। 'संग्रह .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