"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > शब्दकोश गैर-नियतात्मक पोस्ट-पायथन 3.3 का आदेश क्यों दे रहा है?

शब्दकोश गैर-नियतात्मक पोस्ट-पायथन 3.3 का आदेश क्यों दे रहा है?

2024-11-10 को प्रकाशित
ब्राउज़ करें:616

Why Is Dictionary Ordering Non-Deterministic Post-Python 3.3?

पायथन 3.3 में डिक्शनरी ऑर्डरिंग गैर-नियतात्मक क्यों है?

3.3 से पहले के पायथन संस्करणों में, डिक्शनरी कुंजियों का क्रम मनमाना था लेकिन सुसंगत। हालाँकि, Python 3.3 में, यह क्रम गैर-नियतात्मक हो गया।

यह परिवर्तन 2012 में लागू किए गए एक सुरक्षा सुधार के परिणामस्वरूप हुआ और Python 3.3 में डिफ़ॉल्ट रूप से सक्षम किया गया। सुरक्षा कमजोरियों को दूर करने के लिए पेश किया गया हैश रैंडमाइजेशन, शब्दकोशों और सेटों के पुनरावृत्ति क्रम को अप्रत्याशित बनाता है और पायथन रन में भिन्न होता है।

हैश रैंडमाइजेशन को अक्षम करने के लिए, आप PYTHONHASHSEED पर्यावरण चर को 0 पर सेट कर सकते हैं।

प्रतिसहज ज्ञान उदाहरण

जबकि प्रश्न में प्रतिउदाहरण लगातार पायथन 3.3 में एक ही परिणाम नहीं देता है, इसके अलग-अलग क्रमों की सीमित संख्या हैश टकराव के प्रबंधन से उत्पन्न होती है।

यह सीमा अब पायथन 3.6 और बाद के संस्करणों में मौजूद नहीं है, जहां शब्दकोशों का प्रविष्टि क्रम हमेशा संरक्षित रहता है।

विज्ञप्ति वक्तव्य यह आलेख यहां पुनर्मुद्रित है: 1729494257 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.कॉम से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3