हम एक अजगर अभिव्यक्ति के रूप में स्ट्रिंग का मूल्यांकन करने के लिए यहां ast.literal_eval() का उपयोग कर सकते हैं। यह सुरक्षित रूप से एक अभिव्यक्ति नोड या एक पायथन अभिव्यक्ति युक्त स्ट्रिंग का मूल्यांकन करता है। प्रदान की गई स्ट्रिंग या नोड में केवल निम्नलिखित पायथन शाब्दिक संरचनाएं शामिल हो सकती हैं:स्ट्रिंग्स, संख्याएं, टुपल्स, सूचियां, डिक्ट्स, बूलियन, और कोई नहीं। उदाहरण के लिए:
s = "{'baz' : 'lol', 'foo' : 'bar'}" import ast s = ast.literal_eval(s) print s['foo'], s['baz']
यह हमें आउटपुट देगा:
bar lol
शब्दकोशों को JSON स्ट्रिंग्स के रूप में भी देखा जा सकता है। इस प्रकार हम एक स्ट्रिंग को dict में बदलने के लिए json मॉड्यूल का उपयोग कर सकते हैं। उदाहरण के लिए,
>>> import json >>> x = json.loads("{'foo' : 'bar', 'hello' : 'world'}") >>> type(x) <type 'dict'>