इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।
समस्या कथन - हमें एक स्ट्रिंग इनपुट दिया जाता है, हमें इसे डिक्शनरी टाइप में बदलने की जरूरत होती है
यहां हम बिल्ट-इन dict() फ़ंक्शन का उपयोग किए बिना समस्या को हल करने के दो तरीकों पर चर्चा करेंगे।
विधि 1 - eval() विधि का उपयोग करना
Eval पद्धति का उपयोग केवल तभी किया जाता है जब वाक्य रचना या स्ट्रिंग का निर्माण किसी शब्दकोश के जैसा होता है। स्ट्रिंग का शब्दकोश में सीधा रूपांतरण उस स्थिति में हो सकता है, जैसा कि नीचे बताया गया है।
उदाहरण
# String string = "{'T':1, 'U':2, 'T':3, 'O':4, 'R':5}" # eval() function dict_string = eval(string) print(dict_string) print(dict_string['T']) print(dict_string['T'])
आउटपुट
{'T': 3, 'U': 2, 'O': 4, 'R': 5} 3 3
विधि 2 - जनरेटर फ़ंक्शन का उपयोग करना
यदि हमें एक स्ट्रिंग इनपुट मिलता है जो किसी शब्दकोश के सिंटैक्स जैसा दिखता है तो जनरेटर अभिव्यक्तियों की सहायता से हम इसे एक शब्दकोश में परिवर्तित कर सकते हैं।
उदाहरण
string = "T-3 , U-2 , T-1 , O-4 , R-5" # Converting string to dictionary dict_string = dict((x.strip(), y.strip()) for x, y in (element.split('-') for element in string.split(', '))) print(dict_string) print(dict_string['T']) print(dict_string['T'])
आउटपुट
{'T': '1', 'U': '2', 'O': '4', 'R': '5'} 1 1
निष्कर्ष
इस लेख में, हमने सीखा है कि कैसे हम एक स्ट्रिंग से एक शब्दकोश बना सकते हैं।