इस लेख में, हम नीचे दिए गए समस्या कथन के समाधान के बारे में जानेंगे।
समस्या कथन - हमें एक स्ट्रिंग इनपुट दी गई है, हमें इसे डिक्शनरी प्रकार में बदलने की आवश्यकता है।
यहां हम बिल्ट-इन dict() फ़ंक्शन का उपयोग किए बिना समस्या को हल करने के लिए दो विधियों पर चर्चा करेंगे।
विधि 1 - eval() मेथड का उपयोग करना
Eval मेथड का उपयोग केवल तब किया जाता है जब स्ट्रिंग का सिंटैक्स या निर्माण डिक्शनरी जैसा दिखता है। उस स्थिति में स्ट्रिंग से डिक्शनरी में सीधा रूपांतरण हो सकता है जैसा कि नीचे चर्चा की गई है।
उदाहरण
# स्ट्रिंग
string = "{'T':1, 'U':2, 'T':3, 'O':4, 'R':5}"
# eval() फ़ंक्शन
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"
# स्ट्रिंग को डिक्शनरी में बदलना
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
निष्कर्ष
इस लेख में, हमने सीखा है कि हम स्ट्रिंग से डिक्शनरी कैसे बना सकते हैं।