मुझे collections.OrderedDict
कक्षा का उपयोग करने में थोड़ी परेशानी हो रही है । मैं रास्पबेरी पर पायथन 2.7 का उपयोग कर रहा हूं, रास्पबेरी पाई के लिए डेबियन डिस्ट्रो। मैं एक पाठ-साहसिक कार्य के लिए (साइड-बाय-साइड) तुलना के लिए दो शब्दकोशों को प्रिंट करने की कोशिश कर रहा हूं। सही तुलना करने के लिए आदेश आवश्यक है। कोई फर्क नहीं पड़ता कि मैं शब्दकोशों को उनके सामान्य ढंग से प्रिंट करने की कोशिश करता हूं।
जब मैं इसे अपने आरपीआई पर करता हूं तो मुझे यहां मिलता है:
import collections
ship = {"NAME": "Albatross",
"HP":50,
"BLASTERS":13,
"THRUSTERS":18,
"PRICE":250}
ship = collections.OrderedDict(ship)
print ship
# OrderedDict([('PRICE', 250), ('HP', 50), ('NAME', 'Albatross'), ('BLASTERS', 13), ('THRUSTERS', 18)])
जाहिर है कुछ सही नहीं है क्योंकि यह फ़ंक्शन कॉल को प्रिंट कर रहा है और कुंजी और मूल्य समूहों को नेस्टेड सूची में डाल रहा है ...
यह वही है जो मुझे अपने पीसी पर समान चलाने से मिला है:
import collections
Joe = {"Age": 28, "Race": "Latino", "Job": "Nurse"}
Bob = {"Age": 25, "Race": "White", "Job": "Mechanic", "Random": "stuff"}
#Just for clarity:
Joe = collections.OrderedDict(Joe)
Bob = collections.OrderedDict(Bob)
print Joe
# OrderedDict([('Age', 28), ('Race', 'Latino'), ('Job', 'Nurse')])
print Bob
# OrderedDict([('Age', 25), ('Race', 'White'), ('Job', 'Mechanic'), ('Random', 'stuff')])
इस बार, यह क्रम में है, लेकिन इसे अन्य चीजों को सही नहीं छापना चाहिए? (इसे सूची में डालना और फ़ंक्शन कॉल दिखाना)
मैं अपनी गलती कहां कर रहा हूं? यह अजगर के पाई संस्करण के साथ करने के लिए कुछ भी नहीं होना चाहिए क्योंकि यह सिर्फ लिनक्स संस्करण है।
OrderedDict
सम्मिलन आदेश द्वारा सॉर्ट किया गया है, अल्फ़ान्यूमेरिक कुंजी क्रम नहीं।