2013-03-29 6 views
76

मुझे 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')]) 

इस बार, यह क्रम में है, लेकिन यह अन्य बातों के, हालांकि सही मुद्रण नहीं किया जाना चाहिए? (इसे सूची में डालकर और फंक्शन कॉल दिखा रहा है।)

मैं अपनी त्रुटि कहां बना रहा हूं? यह पायथन के पीआई संस्करण के साथ कुछ भी नहीं होना चाहिए क्योंकि यह सिर्फ लिनक्स संस्करण है।

+0

नोट: 'OrderedDict' प्रविष्टि आदेश द्वारा क्रमबद्ध किया गया है, अल्फान्यूमेरिक कुंजी ऑर्डर नहीं। –

उत्तर

142

आप पहले शब्दकोश बना रहे हैं, फिर उस शब्दकोश को OrderedDict पर पास कर रहे हैं। जब तक आप ऐसा करते हैं, तो आदेश अब सही नहीं होगा। dict मूल रूप से आदेश नहीं दिया गया है। बजाय tuples के एक क्रम में

पास:

ship = [("NAME", "Albatross"), 
     ("HP", 50), 
     ("BLASTERS", 13), 
     ("THRUSTERS", 18), 
     ("PRICE", 250)] 
ship = collections.OrderedDict(ship) 

आप क्या देखते हैं जब आप प्रिंट OrderedDict यह प्रतिनिधित्व है है, और यह पूरी तरह से सही है। OrderedDict([('PRICE', 250), ('HP', 50), ('NAME', 'Albatross'), ('BLASTERS', 13), ('THRUSTERS', 18)]) आपको दिखाता है कि, में पुन: उत्पादित प्रतिनिधित्व, OrderedDict की सामग्री क्या है।

+0

ठीक है तो ऑर्डरर्ड डिक्शनरी मेरे लिए शब्दकोश तैयार करेगा? इसके अलावा, पुनरुत्पादनीय प्रतिनिधित्व के बिना प्रिंट करने के लिए क्या मैं सिर्फ परिवर्तनीय ऑर्डर्ड डिक्ट का उपयोग कर सकता हूं? i.e .: 'प्रिंट शिप' ?? धन्यवाद :) – pythonpiboy

+0

@pythonpiboy: मुद्रण 'जहाज' उस मूल्य को मुद्रित करेगा जो इसे संदर्भित करता है, इसलिए यह 'ऑर्डर्ड डिक्ट' प्रतिनिधित्व मुद्रित करेगा। –

+2

प्रश्न: जिस तरह से आपने वर्णन किया है, ऑर्डर्ड डिक्ट ऑर्डर "सूची" बना रहा है। क्या वह उद्देश्य को हराने में नहीं है? यह केवल तत्वों की एक सूची बना रहा है, कुंजी और मूल्य वाले शब्दकोश नहीं ... – pythonpiboy

4

बार हम OrderedDict के लिए जाते हैं जब हम एक कस्टम आदेश एएससी जैसा एक आम एक आदि

यहाँ समाधान ठहराई गई नहीं की आवश्यकता के अधिकांश:

:

import collections 
ship = {"NAME": "Albatross", 
     "HP":50, 
     "BLASTERS":13, 
     "THRUSTERS":18, 
     "PRICE":250} 

ship = collections.OrderedDict(ship) 

print ship 


new_dict = collections.OrderedDict() 
new_dict["NAME"]=ship["NAME"] 
new_dict["HP"]=ship["HP"] 
new_dict["BLASTERS"]=ship["BLASTERS"] 
new_dict["THRUSTERS"]=ship["THRUSTERS"] 
new_dict["PRICE"]=ship["PRICE"] 


print new_dict 

यह व्यवहृत किया जा सकेगा

OrderedDict([('PRICE', 250), ('HP', 50), ('NAME', 'Albatross'), ('BLASTERS', 13), ('THRUSTERS', 18)]) 
OrderedDict([('NAME', 'Albatross'), ('HP', 50), ('BLASTERS', 13), ('THRUSTERS', 18), ('PRICE', 250)]) 

नोट: नए सॉर्ट किए गए शब्दकोश प्रविष्टियों को हटाए जाने पर उनके सॉर्ट ऑर्डर को बनाए रखते हैं। लेकिन जब नई चाबी जोड़ रहे हैं, चाबियाँ अंत में जोड़ा जाता है और तरह से बनाए रखा नहीं है। (official doc)

0

मैं जानता हूँ कि एक पुरानी पोस्ट है, लेकिन मैं हाल ही में यह केवल यह और अधिक जटिल था की तरह कुछ का सामना करना पड़ा।

दोनों उत्तर आपके अंतिम लक्ष्य के आधार पर अच्छे हैं। मैं उल्लेख करना चाहता हूं कि @Martijn और @Abdul द्वारा प्रदान किए गए 2 उत्तरों के बीच एक महत्वपूर्ण अंतर है।

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

आप इस कहाँ देख सकते हैं आप कई स्तरों के साथ एक शब्दकोश है जब, इस तरह:

dict = {"key": value, 
      {"key_2": value_2, 
       {"key_3": value_3 } 
      } 
     } 

आप @Abdul से जाना तो जवाब देने के आप आसानी से बस का ट्रैक रखने के द्वारा एक उप dict से अधिक पुनरावृति कर सकते हैं चाबियाँ, लेकिन @ मार्टिजन उत्तर आपको सूचियों के साथ एक निर्देश देगा जिसमें इसे फिर से शुरू करना आसान नहीं है (आपको लूप आदि की आवश्यकता है)।

फिर से, यह ऐप की जटिलता पर निर्भर करता है। मुझे हाल ही में एक ऐसी स्थिति का सामना करना पड़ा जहां मुझे ऑर्डर्ड डिक्ट की आवश्यकता थी और किसी भी स्तर पर अपनी उप-डिक्ट्स कुंजी पर फिर से शुरू किया गया था। पायथन में शब्दकोशों का पूरा बिंदु केवल एक विशिष्ट कुंजी की खोज करके मूल्यों पर जाना है।

नीचे दिए गए उदाहरण का निर्माण कई एक्सएमएल फाइलों पर पार्स करके और एक खाली शब्दकोश में जोड़कर किया गया था। जैसा कि आप देखते हैं, ताना प्राप्त करने के बाद मुझे कुछ शर्तों के लिए हर उप-नियम की जांच करनी पड़ती थी।

{ 
    "_id" : "structhse_message__t_1a53d12f4c7e5dcbfc75d9ed20cdd11d70", 
    "refid" : "structhse_message__t_1a53d12f4c7e5dcbfc75d9ed20cdd11d70", 
    "kind" : "variable", 
    "name" : "loadPlainKeyReq", 
    "last_modified" : ISODate("2017-08-29T07:17:45.361Z"), 
    "member_0" : { 
     "_id" : "hseLoadPlainKeyCmd_t", 
     "refid" : "structhse_load_plain_key_cmd__t", 
     "type_name" : "hseLoadPlainKeyCmd_t", 
     "parent_name" : "loadPlainKeyReq", 
     "member_0" : { 
      "_id" : "structhse_load_plain_key_cmd__t_1a283b970e7bd46c62343ea893a86f075e", 
      "refid" : "group___h_s_e___types_1ga7e573d098b9f292a1794a56b02a05b15", 
      "type_name" : "hseKeyId_t", 
      "name" : "overwritekeyId" 
     }, 
     "member_1" : { 
      "_id" : "structhse_load_plain_key_cmd__t_1a613df97c7a4c9e21a3f3228ec1eea1b4", 
      "refid" : "unionhse_key_formats__t", 
      "type_name" : "hseKeyFormats_t", 
      "name" : "loadKey", 
      "member_0" : { 
       "_id" : "unionhse_key_formats__t_1ac56e6b68b9024796ae1ecdefe2c7a3bb", 
       "refid" : "group___h_s_e___types_1ga8086fa2f11c7328996de2854960976c8", 
       "type_name" : "hseKeyType_t", 
       "name" : "keyType" 
      }, 
      "member_1" : { 
       "_id" : "unionhse_key_formats__t_1abe287bb206fb6def7c6cd77cfca5a4a0", 
       "refid" : "structhse_sym_key__t", 
       "type_name" : "hseSymKey_t", 
       "name" : "sheKey", 
       "member_0" : { 
        "_id" : "structhse_sym_key__t_1a2d3fbac1c274c7b6b4aa12c4bd322739", 
        "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
        "type_name" : "uint32", 
        "name" : "numBytes" 
       }, 
       "member_1" : { 
        "_id" : "structhse_sym_key__t_1ad3d9f7a1483bee99c3865f5bbaf78c2d", 
        "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
        "type_name" : "buffer_t", 
        "name" : "symKey_Addr" 
       } 
      }, 
      "member_2" : { 
       "_id" : "unionhse_key_formats__t_1add390730769274485feffa5052ce5fca", 
       "refid" : "structhse_sym_key__t", 
       "type_name" : "hseSymKey_t", 
       "name" : "symKey", 
       "member_0" : { 
        "_id" : "structhse_sym_key__t_1a2d3fbac1c274c7b6b4aa12c4bd322739", 
        "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
        "type_name" : "uint32", 
        "name" : "numBytes" 
       }, 
       "member_1" : { 
        "_id" : "structhse_sym_key__t_1ad3d9f7a1483bee99c3865f5bbaf78c2d", 
        "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
        "type_name" : "buffer_t", 
        "name" : "symKey_Addr" 
       } 
      }, 
      "member_3" : { 
       "_id" : "unionhse_key_formats__t_1aa63deae0529b46f313a9baaee9f24105", 
       "refid" : "structhse_ecc_priv_key__t", 
       "type_name" : "hseEccPrivKey_t", 
       "name" : "eccPrivKey", 
       "member_0" : { 
        "_id" : "structhse_ecc_priv_key__t_1af2fa59d39cb2257b12befcc190205785", 
        "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
        "type_name" : "uint32", 
        "name" : "numBytes" 
       }, 
       "member_1" : { 
        "_id" : "structhse_ecc_priv_key__t_1aaff2312cfc5bd209457b371e83fabfa3", 
        "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
        "type_name" : "buffer_t", 
        "name" : "privKey_Addr" 
       } 
      }, 
      "member_4" : { 
       "_id" : "unionhse_key_formats__t_1a5a020d8aa302adfb83599f6b0be395cc", 
       "refid" : "structhse_ecc_pub_key__t", 
       "type_name" : "hseEccPubKey_t", 
       "name" : "eccPubKey", 
       "member_0" : { 
        "_id" : "structhse_ecc_pub_key__t_1a7e137100290802efe4ca122a4b155175", 
        "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
        "type_name" : "uint32", 
        "name" : "numBytes" 
       }, 
       "member_1" : { 
        "_id" : "structhse_ecc_pub_key__t_1aacb70aae75409136c83b43e3bf592f7f", 
        "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
        "type_name" : "buffer_t", 
        "name" : "pubKey_Addr" 
       } 
      }, 
      "member_5" : { 
       "_id" : "unionhse_key_formats__t_1ada8568ccaf5bb966daf83a95f2c5f5b6", 
       "refid" : "structhse_rsa_priv_key__t", 
       "type_name" : "hseRsaPrivKey_t", 
       "name" : "rsaPrivKey", 
       "member_0" : { 
        "_id" : "structhse_rsa_priv_key__t_1a10f71bff068bf3df19e087eac57a584a", 
        "refid" : "group___h_s_e___types_1ga9b2050e928b8f19bc2e54120ec560262", 
        "type_name" : "hseRsaPrivKeyFormat_t", 
        "name" : "rsaPrivKeyFormat" 
       }, 
       "member_1" : { 
        "_id" : "structhse_rsa_priv_key__t_1a96b14335070d33861191e6aea1c07992", 
        "refid" : "structhse_rsa_priv_key_crt__t", 
        "type_name" : "hseRsaPrivKeyCrt_t", 
        "name" : "rsaPrivKeyCrt", 
        "member_0" : { 
         "_id" : "structhse_rsa_priv_key_crt__t_1ab7709493289cc1671848f08a65960c6c", 
         "refid" : "structhse_m_p_int__t", 
         "type_name" : "hseMPInt_t", 
         "name" : "p", 
         "member_0" : { 
          "_id" : "structhse_m_p_int__t_1a0d231d88b38942f8015f10de758a9a3b", 
          "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
          "type_name" : "uint32", 
          "name" : "umBytes" 
         }, 
         "member_1" : { 
          "_id" : "structhse_m_p_int__t_1a6e2c91b8343a37fd2fa74b2acd9b3de7", 
          "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
          "type_name" : "buffer_t", 
          "name" : "MPInt_Addr" 
         } 
        }, 
        "member_1" : { 
         "_id" : "structhse_rsa_priv_key_crt__t_1a1211b6edca95a24aaa33aefc0af08a06", 
         "refid" : "structhse_m_p_int__t", 
         "type_name" : "hseMPInt_t", 
         "name" : "q", 
         "member_0" : { 
          "_id" : "structhse_m_p_int__t_1a0d231d88b38942f8015f10de758a9a3b", 
          "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
          "type_name" : "uint32", 
          "name" : "umBytes" 
         }, 
         "member_1" : { 
          "_id" : "structhse_m_p_int__t_1a6e2c91b8343a37fd2fa74b2acd9b3de7", 
          "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
          "type_name" : "buffer_t", 
          "name" : "MPInt_Addr" 
         } 
        }, 
        "member_2" : { 
         "_id" : "structhse_rsa_priv_key_crt__t_1ae458aa8cf28b88c4665d3d716b727376", 
         "refid" : "structhse_m_p_int__t", 
         "type_name" : "hseMPInt_t", 
         "name" : "dp", 
         "member_0" : { 
          "_id" : "structhse_m_p_int__t_1a0d231d88b38942f8015f10de758a9a3b", 
          "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
          "type_name" : "uint32", 
          "name" : "umBytes" 
         }, 
         "member_1" : { 
          "_id" : "structhse_m_p_int__t_1a6e2c91b8343a37fd2fa74b2acd9b3de7", 
          "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
          "type_name" : "buffer_t", 
          "name" : "MPInt_Addr" 
         } 
        }, 
        "member_3" : { 
         "_id" : "structhse_rsa_priv_key_crt__t_1a80937dde3f726c674be5861f8a3db0f9", 
         "refid" : "structhse_m_p_int__t", 
         "type_name" : "hseMPInt_t", 
         "name" : "dq", 
         "member_0" : { 
          "_id" : "structhse_m_p_int__t_1a0d231d88b38942f8015f10de758a9a3b", 
          "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
          "type_name" : "uint32", 
          "name" : "umBytes" 
         }, 
         "member_1" : { 
          "_id" : "structhse_m_p_int__t_1a6e2c91b8343a37fd2fa74b2acd9b3de7", 
          "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
          "type_name" : "buffer_t", 
          "name" : "MPInt_Addr" 
         } 
        }, 
        "member_4" : { 
         "_id" : "structhse_rsa_priv_key_crt__t_1ae83e11e22974815337d5eda88152878c", 
         "refid" : "structhse_m_p_int__t", 
         "type_name" : "hseMPInt_t", 
         "name" : "qInv", 
         "member_0" : { 
          "_id" : "structhse_m_p_int__t_1a0d231d88b38942f8015f10de758a9a3b", 
          "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
          "type_name" : "uint32", 
          "name" : "umBytes" 
         }, 
         "member_1" : { 
          "_id" : "structhse_m_p_int__t_1a6e2c91b8343a37fd2fa74b2acd9b3de7", 
          "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
          "type_name" : "buffer_t", 
          "name" : "MPInt_Addr" 
         } 
        } 
       }, 
       "member_2" : { 
        "_id" : "structhse_rsa_priv_key__t_1a0d73e9ee22b811fa0e41751b71bbd853", 
        "refid" : "structhse_rsa_priv_key_plain__t", 
        "type_name" : "hseRsaPrivKeyPlain_t", 
        "name" : "rsaPrivKeyPlain", 
        "member_0" : { 
         "_id" : "structhse_rsa_priv_key_plain__t_1a3122040fccdfe86987c4e251071e0a46", 
         "refid" : "structhse_m_p_int__t", 
         "type_name" : "hseMPInt_t", 
         "name" : "n", 
         "member_0" : { 
          "_id" : "structhse_m_p_int__t_1a0d231d88b38942f8015f10de758a9a3b", 
          "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
          "type_name" : "uint32", 
          "name" : "umBytes" 
         }, 
         "member_1" : { 
          "_id" : "structhse_m_p_int__t_1a6e2c91b8343a37fd2fa74b2acd9b3de7", 
          "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
          "type_name" : "buffer_t", 
          "name" : "MPInt_Addr" 
         } 
        }, 
        "member_1" : { 
         "_id" : "structhse_rsa_priv_key_plain__t_1ad0fb7fa8d05ccbb86eabfa1bf9b8718c", 
         "refid" : "structhse_m_p_int__t", 
         "type_name" : "hseMPInt_t", 
         "name" : "d", 
         "member_0" : { 
          "_id" : "structhse_m_p_int__t_1a0d231d88b38942f8015f10de758a9a3b", 
          "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
          "type_name" : "uint32", 
          "name" : "umBytes" 
         }, 
         "member_1" : { 
          "_id" : "structhse_m_p_int__t_1a6e2c91b8343a37fd2fa74b2acd9b3de7", 
          "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
          "type_name" : "buffer_t", 
          "name" : "MPInt_Addr" 
         } 
        } 
       }, 
       "member_3" : { 
        "_id" : "structhse_rsa_priv_key__t_1a5d64e4c273782cc2cfad162149aea5b5", 
        "refid" : "union", 
        "type_name" : "rsaFormat", 
        "name" : "rsaFormat" 
       } 
      }, 
      "member_6" : { 
       "_id" : "unionhse_key_formats__t_1a73c29b0545c73d630db6c5978421d155", 
       "refid" : "structhse_rsa_pub_key__t", 
       "type_name" : "hseRsaPubKey_t", 
       "name" : "rsaPubKey", 
       "member_0" : { 
        "_id" : "structhse_rsa_pub_key__t_1a2a3a2a17b9b8cb3bb4d654917adc2a69", 
        "refid" : "structhse_m_p_int__t", 
        "type_name" : "hseMPInt_t", 
        "name" : "n", 
        "member_0" : { 
         "_id" : "structhse_m_p_int__t_1a0d231d88b38942f8015f10de758a9a3b", 
         "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
         "type_name" : "uint32", 
         "name" : "umBytes" 
        }, 
        "member_1" : { 
         "_id" : "structhse_m_p_int__t_1a6e2c91b8343a37fd2fa74b2acd9b3de7", 
         "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
         "type_name" : "buffer_t", 
         "name" : "MPInt_Addr" 
        } 
       }, 
       "member_1" : { 
        "_id" : "structhse_rsa_pub_key__t_1ae5a520f45a29b7ba435e062e58c5aecd", 
        "refid" : "structhse_m_p_int__t", 
        "type_name" : "hseMPInt_t", 
        "name" : "e", 
        "member_0" : { 
         "_id" : "structhse_m_p_int__t_1a0d231d88b38942f8015f10de758a9a3b", 
         "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
         "type_name" : "uint32", 
         "name" : "umBytes" 
        }, 
        "member_1" : { 
         "_id" : "structhse_m_p_int__t_1a6e2c91b8343a37fd2fa74b2acd9b3de7", 
         "refid" : "group___h_s_e___types_1gac65702985a8ebfca3036aebd0d9e5cff", 
         "type_name" : "buffer_t", 
         "name" : "MPInt_Addr" 
        } 
       } 
      }, 
      "member_7" : { 
       "_id" : "unionhse_key_formats__t_1ae5d8530608ceb16796bc5309e0f979e5", 
       "refid" : "group___h_s_e___types_1ga1347949493721c164d500d649123609f", 
       "type_name" : "hseEccDhSecret_t", 
       "name" : "eccDHSecret" 
      }, 
      "member_8" : { 
       "_id" : "unionhse_key_formats__t_1af9f446849a3751621a0eddba8ecb6d07", 
       "refid" : "group___h_s_e___types_1gae4897cc586402c5dd8a23125a3528740", 
       "type_name" : "hseDhSecret_t", 
       "name" : "dhSecret" 
      }, 
      "member_9" : { 
       "_id" : "unionhse_key_formats__t_1a0b387adc00cb2e8ab10c36bf56a811d4", 
       "refid" : "union", 
       "type_name" : "keyFormat", 
       "name" : "keyFormat" 
      } 
     }, 
     "member_2" : { 
      "_id" : "structhse_load_plain_key_cmd__t_1a1c4ec69f75f3e8dcd1666ede97d65022", 
      "refid" : "structhse_key_info_flags__t", 
      "type_name" : "hseKeyInfoFlags_t", 
      "name" : "keyInfo", 
      "member_0" : { 
       "_id" : "structhse_key_info_flags__t_1a9cc5afac809e83a7bfdc55531fed9c53", 
       "refid" : "group___h_s_e___types_1ga76a0191e789df1f47b4ac84ea612f7bb", 
       "type_name" : "hseKeyMemTarget_t", 
       "name" : "keyMemTarget" 
      }, 
      "member_1" : { 
       "_id" : "structhse_key_info_flags__t_1ac3c1d57b55a13979d8d521a266ff7f58", 
       "refid" : "group___h_s_e___types_1ga1134b580f8da4de94ca6b1de4d37975e", 
       "type_name" : "uint32", 
       "name" : "keyUsage" 
      }, 
      "member_2" : { 
       "_id" : "structhse_key_info_flags__t_1a46a26062e5eaa0bd1fdf17596409cb56", 
       "refid" : "group___h_s_e___types_1gaa2e9e15da1391eafeeb2c5c57dfee278", 
       "type_name" : "hseKeyRA_t", 
       "name" : "ra" 
      }, 
      "member_3" : { 
       "_id" : "structhse_key_info_flags__t_1a5479c6b76ad1716839561f56bb7c62b8", 
       "refid" : "group___h_s_e___types_1ga3534a0c18a0013fa5f8cbce405ed4713", 
       "type_name" : "hseKeyWA_t", 
       "name" : "wa" 
      } 
     }, 
     "member_3" : { 
      "_id" : "structhse_load_plain_key_cmd__t_1aa901f13e8ba971e748258ca603a8e7fb", 
      "refid" : "group___h_s_e___types_1ga7e573d098b9f292a1794a56b02a05b15", 
      "type_name" : "hseKeyId_t", 
      "name" : "keyId_Addr" 
     }, 
     "last_modified" : ISODate("2017-08-29T07:18:36.796Z") 
    } 
} 
6

आप कोड है, जहां आपके dict परिभाषित किया गया था के इस भाग को संपादित नहीं कर सकते, तो आप अभी भी आप चाहते हैं किसी भी तरह से किसी भी बिंदु पर यह आदेश कर सकते हैं, इस तरह:

from collections import OrderedDict 

order_of_keys = ["key1", "key2", "key3", "key4", "key5"] 
list_of_tuples = [(key, your_dict[key]) for key in order_of_keys] 
your_dict = OrderedDict(list_of_tuples) 
संबंधित मुद्दे