के रूप में करने की क्षमता एक सहकर्मी ने हाल ही में एक कार्यक्रम लिखा जिसमें उन्होंने एक पायथन सूची को कतार के रूप में उपयोग किया। दूसरे शब्दों में, आइटमों को हटाने की आवश्यकता होने पर आइटम और .pop(0)
डालने की आवश्यकता होने पर उन्होंने .append(x)
का उपयोग किया।एक पायथन सूची का उपयोग कतार
मुझे पता है कि पायथन के पास collections.deque
है और मैं यह पता लगाने की कोशिश कर रहा हूं कि इस कोड को पुनः उपयोग करने के लिए मेरे (सीमित) समय को फिर से लिखना है या नहीं। यह मानते हुए कि हम लाखों परिशिष्ट और पॉप करते हैं लेकिन कुछ हज़ार प्रविष्टियों से अधिक नहीं है, क्या उनकी सूची उपयोग एक समस्या होगी?
विशेष रूप से, अंतर्निहित अजगर सूची कार्यान्वयन द्वारा प्रयोग किया जाता सरणी अनिश्चित काल के लिए विकसित करने के लिए भले ही इस सूची में केवल एक हजार बातें है स्पॉट के लाखों लोगों की है जारी रहेगा, या अजगर अंततः एक realloc
और नि: शुल्क है कि स्मृति के कुछ क्या करेंगे?
अंतर्निहित अनिश्चित काल के लिए विकसित करने के लिए (केवल अपने "उच्च पानी के निशान" की तुलना में थोड़ा बड़ा रहता है) के लिए जारी नहीं करता है। लेकिन ओ (एन) बनाम ओ (1) कुछ उत्तरों में हाइलाइट किए गए मुद्दे महत्वपूर्ण हो सकते हैं। –