क्या ऑर्डरडाइट पायथन 3.7 में निरर्थक हो जाएगा?


92

से अजगर 3.7 बदलाव का :

की प्रविष्टि क्रम के संरक्षण प्रकृति dict वस्तुओं घोषित किया गया है अजगर भाषा कल्पना के एक अधिकारी हिस्सा बनने के लिए।

क्या इसका मतलब यह OrderedDictहोगा कि निरर्थक हो जाएगा? एकमात्र उपयोग मैं इसके बारे में सोच सकता हूं कि पायथन के पुराने संस्करणों के साथ पीछे की संगतता बनाए रखना होगा जो सामान्य शब्दकोशों के लिए सम्मिलन-क्रम को संरक्षित नहीं करते हैं।


इसे भी देखें: stackoverflow.com/questions/34305003/…
बोरिस

जवाबों:


137

नहीं, यह Python 3.7 में निरर्थक नहीं बनेगा, क्योंकि OrderedDictयह केवल एक dictसम्मिलन क्रम नहीं है, यह एक आदेश आश्रित विधि भी प्रदान करता है OrderedDict.move_to_end(), और reversed()पुनरावृत्ति * का समर्थन करता है ।

इसके अलावा, समानता की तुलना OrderedDictक्रम के प्रति संवेदनशील होती है और यह अभी भी dictपायथन 3.7 के मामले में नहीं है , उदाहरण के लिए:

>>> OrderedDict([(1,1), (2,2)]) == OrderedDict([(2,2), (1,1)]) 
False
>>> dict([(1,1), (2,2)]) == dict([(2,2), (1,1)]) 
True

यहां और यहां दो प्रासंगिक प्रश्न ।

* पायथन 3.8 के लिए reversed()नियमित पायथन के पुनरावृत्ति के लिए समर्थन dictजोड़ा जाता है अंक 3346


1
तुलना करते समय आदेश संवेदनशीलता के बारे में बात यहां बहुत मान्य है।
टिम स्कोव जैकबसेन 21
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.