2012-04-29 19 views
6

मैं इस मामले के लिए मदद की जरूरत है बनाने: तो भीअजगर: प्रकार ऑटो निष्क्रिय करने के लिए कैसे जब शब्दकोश

m={} 
m[1]=1 
m[333]=333 
m[2]=2 

# Result: 
{1: 1, 2: 2, 333: 333} 

जब मैं '333' पिछले प्रवेश नहीं किया था, मैं इस '333' में सूचीबद्ध मिला इसे प्रिंट करते समय शब्दकोश का अंत। यह 'शब्दकोश' ऑटो सॉर्ट क्यों कर रहा है? और इसे कैसे अक्षम करें? मैं आदेश को ठीक करने के लिए पुनः क्रमबद्ध करने के लिए एक फ़ंक्शन बना सकता हूं। लेकिन यह वही नहीं है जो मैं चाहता हूं, मैं केवल डेटा इनपुट करते समय ऑर्डर की तरह आउटपुट ऑर्डर प्रिंट करना चाहता हूं। क्या कोई अच्छी व्याख्या है और क्या कोई समाधान है?

+0

http://stackoverflow.com/questions/1872329/storing-python-dictionary-entries-in-the-order-they-are-pushed – shiva

+0

आप शायद 'ऑर्डर्ड डिक्ट' का उपयोग करना चाहते हैं। –

+0

Thanx guyz, जो बताता है कि मुझे यह समस्या क्यों मिली। खुश होती है। – andio

उत्तर

20

यह सॉर्ट नहीं कर रहा है। dict बिल्कुल ऑर्डर नहीं किया गया है, इसलिए आप किसी भी तरह से कुंजी ऑर्डर को प्रभावित नहीं कर सकते हैं। 2.7 और 3.1+ में collections.OrderedDict है, 2.4-2.6 के लिए standalone module भी है।

+0

+1: इस के पक्ष में मेरा उत्तर हटा दिया गया। – Johnsyweb

+0

ठंडा। ऑर्डरडिक्ट वह है जिसे मैं ढूंढ रहा हूं। बहुत बहुत धन्यवाद। – andio

+0

@andio anwser को स्वीकार करें तो – wRAR

1

किसी डिक्शनरी में संग्रहीत आइटम में कोई अंतर्निहित ऑर्डर नहीं है। वे जिस क्रम को मुद्रित करते हैं, वह प्रत्येक कुंजी और शब्दकोश में अन्य वस्तुओं के लिए हैश मानों तक पूरी तरह से नीचे है।

+0

Thanx जानकारी के लिए बहुत कुछ। – andio

संबंधित मुद्दे