हमें कभी-कभी डेटा मिल सकता है जिसमें तार होते हैं लेकिन स्ट्रीम के अंदर डेटा की संरचना एक पायथन सूची होती है। इस लेख में हम स्ट्रिंग संलग्न सूची को एक वास्तविक पायथन सूची में बदल देंगे जिसे आगे डेटा हेरफेर में उपयोग किया जा सकता है।
eval के साथ
हम जानते हैं कि eval फ़ंक्शन हमें वास्तविक परिणाम देगा जो इसे पैरामीटर के रूप में प्रदान किया जाता है। इसलिए हमने दिए गए स्ट्रिंग को eval फ़ंक्शन में आपूर्ति की और पायथन सूची को वापस प्राप्त किया।
उदाहरण
stringA = "['Mon', 2,'Tue', 4, 'Wed',3]"
# Given string
print("Given string : \n",stringA)
# Type check
print(type(stringA))
# using eval
res = eval(stringA)
# Result
print("The converted list : \n",res)
# Type check
print(type(res)) आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Given string : ['Mon', 2,'Tue', 4, 'Wed',3] The converted list : ['Mon', 2, 'Tue', 4, 'Wed', 3]
ast.literal_eval के साथ
इस दृष्टिकोण में, हम अनुमान लेते हैं और इसे एक पैरामीटर के रूप में स्ट्रिंग देकर शाब्दिक_एवल फ़ंक्शन का उपयोग करते हैं। यह पायथन सूची को वापस देता है।
उदाहरण
import ast
stringA = "['Mon', 2,'Tue', 4, 'Wed',3]"
# Given string
print("Given string : \n",stringA)
# Type check
print(type(stringA))
# using literal_eval
res = ast.literal_eval(stringA)
# Result
print("The converted list : \n",res)
# Type check
print(type(res)) का उपयोग करना आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Given string : ['Mon', 2,'Tue', 4, 'Wed',3] The converted list : ['Mon', 2, 'Tue', 4, 'Wed', 3]
json.loads के साथ
लोड फ़ंक्शन इंजेक्शन मॉड्यूल एक समान रूपांतरण कर सकता है जहां स्ट्रिंग का मूल्यांकन किया जाता है और वास्तविक पायथन सूची उत्पन्न होती है।
उदाहरण
import json
stringA = '["Mon", 2,"Tue", 4, "Wed",3]'
# Given string
print("Given string : \n",stringA)
# Type check
print(type(stringA))
# using loads
res = json.loads(stringA)
# Result
print("The converted list : \n",res)
# Type check
print(type(res)) आउटपुट
उपरोक्त कोड को चलाने से हमें निम्नलिखित परिणाम मिलते हैं -
Given string : ["Mon", 2,"Tue", 4, "Wed",3] The converted list : ['Mon', 2, 'Tue', 4, 'Wed', 3]