कोड इस तरह दिखता है
txt = "ID:2020,Sugar:3,cost_sugar:30,ID:2021,Sugar:5,cost_sugar:50"
x = str(txt.split(","))
और आउटपुट है
['ID:2020', 'Sugar:3']
अब मैं फिर से विभाजन करना चाहता हूं जैसे कि आउटपुट इस तरह दिखना चाहिए:
['ID', '2020', 'Sugar', '3']
5 जवाब
मुझे re
मॉड्यूल का उपयोग करके लोगों द्वारा दिए गए उत्तर पसंद हैं। ऐसा करने का एक और तरीका यहां दिया गया है:
txt.replace(":", ",").split(",")
अनिवार्य रूप से, आप ":"
को ","
के रूप में मान रहे हैं, तो क्यों न पहले ":"
को ","
से बदलें और फिर विभाजित करें?
आप पहले कुंजी और मान प्राप्त करने के लिए एक सूची का उपयोग कर सकते हैं और फिर सूची को प्रिंट कर सकते हैं
आप अपनी परियोजना से संबंधित नीचे दिए गए कोड का उपयोग कर सकते हैं, या यदि आप पहली बार सीख रहे हैं तो यह एक अच्छा उदाहरण है। पहला सूची का उपयोग करता है। दूसरा re
का उपयोग करता है।
txt = "ID:2020,Sugar:3,cost_sugar:30,ID:2021,Sugar:5,cost_sugar:50"
returnlist = []
for x in list(txt.split(",")):
for fullkey in list(x.split(":")):
returnlist.append(fullkey)
print(returnlist)
या
import re
txt = "ID:2020,Sugar:3,cost_sugar:30,ID:2021,Sugar:5,cost_sugar:50"
returnlist = re.split(':|,', txt)
print(returnlist)
पायथन के re
मॉड्यूल में एक अच्छी सुविधा है
import re
re.split(':|,',txt)
एक अन्य उपाय रेगेक्स का उपयोग करना है
>>> import re
>>> re.split(",|:", txt)
['ID', '2020', 'Sugar', '3', 'cost_sugar', '30', 'ID', '2021', 'Sugar', '5', 'cost_sugar', '50']
संबंधित सवाल
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।