अस्वीकरण: हाँ मुझे एहसास है कि मैं जो सुझाव दे रहा हूं वह पागल है, मेरे पास एक बहुत ही खास (एबी) उपयोग केस है।क्या पाइथन dict literalals का आदेश दिया गया आदेश के रूप में मूल्यांकन किया गया है?
किसी विशेष निष्पादन के भीतर मैं शब्दकोष शब्दकोषों का मूल्यांकन करने के लिए शब्दकोष चाहता हूं, इसलिए मैं निष्पादित कोड से मूल ऑर्डरिंग को सुरक्षित रख सकता हूं।
मैंने निष्पादन से पहले __builtin __। Dict को बदलने की कोशिश की (इसे बाद में बहाल करने के लिए बहुत सावधान रहना), हालांकि यह तेंदुए को प्रभावित नहीं करता है, केवल ताना ही कॉल करता है।
>>> import __builtin__
>>> __builtin__.dict = list
>>> exec "a={}"
>>> a
{}
>>> exec "a=dict()"
>>> a
[]
जाहिर है जिले मॉड्यूल है, लेकिन उस परमाणु कक्षा दृष्टिकोण से साइट है।
क्या कोई और तरीका है कि मैं तेंदुए के मूल्यांकन में हुक कर सकता हूं और क्या होता है?
पीएस Python2.6
मुझे लगता है कि आप 'dict स्रोत में (tuples यहाँ)' साथ dict शाब्दिक को बदलने के लिए होगा, के रूप में dict शाब्दिक वाक्य रचना कर रहे हैं , इसलिए यह पायथन नहीं है अगर उन्हें डिक्ट्स के रूप में व्याख्या नहीं किया जाता है। – agf