शब्दकोश विचार अनिवार्य रूप से उनका नाम क्या कहते हैं: विचार केवल एक शब्दकोश की कुंजी और मूल्यों (या आइटम) पर एक खिड़की की तरह हैं । यहाँ अजगर 3 के लिए आधिकारिक दस्तावेज से एक अंश है :
>>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
>>> keys = dishes.keys()
>>> values = dishes.values()
>>> # view objects are dynamic and reflect dict changes
>>> del dishes['eggs']
>>> keys # No eggs anymore!
dict_keys(['sausage', 'bacon', 'spam'])
>>> values # No eggs value (2) anymore!
dict_values([1, 1, 500])
(अजगर 2 बराबर उपयोग करता है dishes.viewkeys()
और dishes.viewvalues()
)
यह उदाहरण विचारों के गतिशील चरित्र को दिखाता है : कुंजी दृश्य किसी दिए गए बिंदु पर कुंजियों की एक प्रति नहीं है, बल्कि एक साधारण खिड़की है जो आपको चाबियाँ दिखाती है; यदि उन्हें बदल दिया जाता है, तो आप खिड़की के माध्यम से जो कुछ भी देखते हैं वह बदल जाता है। यह सुविधा कुछ परिस्थितियों में उपयोगी हो सकती है (उदाहरण के लिए, किसी को प्रोग्राम की कई बार चाबी की वर्तमान सूची को बदलने की बजाय कुंजी की जरूरत पड़ने पर काम कर सकते हैं)। दृश्य पर पुनरावृत्ति करते समय, यह कैसे व्यवहार करना चाहिए, इसे अच्छी तरह से परिभाषित नहीं किया गया है, जिससे त्रुटियां हो सकती हैं ।
लाभ यह है कि है की तलाश में कहते हैं, कुंजी का उपयोग करता है केवल में, स्मृति का एक छोटा सा और निश्चित राशि और आवश्यकता प्रोसेसर समय का एक छोटा सा और निश्चित राशि , दूसरे हाथ पर पायथन 2, के रूप में वहाँ कुंजी की एक सूची का कोई रचना है (, राजेंद्रन टी द्वारा उद्धृत अक्सर अनावश्यक रूप से एक नई सूची बनाता है, जो सूची की लंबाई के अनुपात में स्मृति और समय लेता है)। खिड़की के अनुरूप जारी रखने के लिए, यदि आप एक दीवार के पीछे एक परिदृश्य देखना चाहते हैं, तो आप बस इसमें एक उद्घाटन करते हैं (आप एक खिड़की का निर्माण करते हैं); किसी सूची में कुंजियों को कॉपी करने के बजाय आपकी दीवार पर परिदृश्य की एक प्रति को चित्रित करने के लिए अनुरूप होगा - प्रतिलिपि समय, स्थान लेती है, और खुद को अपडेट नहीं करती है।
संक्षेप में, आपके शब्दकोश पर विचार केवल ... दृश्य (विंडोज़) हैं, जो शब्दकोष की सामग्री को बदलने के बाद भी दिखाते हैं। वे उन सुविधाओं की पेशकश करते हैं जो सूचियों से भिन्न होती हैं: कुंजियों की एक सूची में किसी निश्चित समय पर शब्दकोश कुंजियों की एक प्रति होती है , जबकि एक दृश्य गतिशील होता है और प्राप्त करने के लिए बहुत तेज़ होता है, क्योंकि इसमें किसी भी डेटा की प्रतिलिपि नहीं होती है ( कुंजियाँ या मूल्य) बनाए जाने के लिए।