एक साधारण प्रश्न लगता है लेकिन मैंने बिना परिणाम के एक दर्जन संभावनाओं की कोशिश की। मैं बस ['55.00', ['CHF', '0.00']] को [['55.00'], ['CHF'], ['0.00']] में बदलना चाहता हूं या:
var1 = "55.00"
var2 = "CHF"
var3 = "0.00"
एक उदाहरण के रूप में, मैंने कोशिश की:
mik = ['55.00', ['CHF', '0.00']]
mik = [s.split(',') for s in ','.join(mik).split(',')]
परिणाम: [['सी'], ['एच'], ['एफ'], [''], ['0'], ['।'], ['0'], ['0']]
मेरी स्थिति में समाधान क्या हो सकता है?
4 जवाब
आप अपनी सूची को अनपैक कर सकते हैं। यह उत्तर मानता है कि आपके पास हमेशा [el, [el2, el3]]
प्रारूप का RHS होता है
>>> var1, (var2, var3) = ['55.00', ['CHF', '0.00']]
>>> var1
'55.00'
>>> var2
'CHF'
>>> var3
'0.00'
mik = ['55.00', ['CHF', '0.00']]
new_lst = []
for item in mik:
if type(item) == list:
for x in item:
new_lst.append(x)
continue
new_lst.append(item)
print(new_lst)
बस आप सूची में पुनरावृति करते हैं और यदि आपने पाया कि आइटम स्वयं एक सूची है तो आप इसके आइटम पर पुनरावृति करते हैं और उन्हें अपने new_lst
ऑब्जेक्ट में जोड़ते हैं और यदि यह एक सूची नहीं है तो आप इसे जोड़ दें।
उपरोक्त कोड से आउटपुट:
['55.00', 'CHF', '0.00']
आप जो चाहते हैं वह मूल रूप से आपकी सूची को समतल करना है यदि मैं सही ढंग से समझूं। यह सवाल मददगार हो सकता है।
from collections.abc import Iterable
def flatten(l):
for el in l:
if isinstance(el, Iterable) and not isinstance(el, (str, bytes)):
yield from flatten(el)
else:
yield el
mik = flatten(['55.00', ['CHF', '0.00']])
यदि आपके पास केवल ये 3 तत्व हैं, तो आप यह कर सकते हैं:
mik = ['55.00', ['CHF', '0.00']]
mik[1:] = mik[1]
print(mik) # ['55.00', 'CHF', '0.00']
यदि कई सबलिस्ट और/या नेस्टिंग के एक से अधिक स्तर हैं, तो आप लूप में समान दृष्टिकोण का उपयोग कर सकते हैं:
for i,_ in enumerate(mik):
while isinstance(mik[i],list):
mik[i:i+1] = mik[i]
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
python
पायथन एक बहु-प्रतिमान है, गतिशील रूप से टाइप किया हुआ, बहुउद्देशीय प्रोग्रामिंग भाषा है। यह एक साफ और एक समान वाक्यविन्यास सीखने, समझने और उपयोग करने के लिए त्वरित होने के लिए डिज़ाइन किया गया है। कृपया ध्यान दें कि अजगर 2 आधिकारिक तौर पर 01-01-2020 के समर्थन से बाहर है। फिर भी, संस्करण-विशिष्ट पायथन सवालों के लिए, [अजगर -२.०] या [अजगर -३.x] टैग जोड़ें। पायथन वेरिएंट (जैसे, ज्योथन, PyPy) या लाइब्रेरी (उदा।, पांडस और न्यूमपी) का उपयोग करते समय, कृपया इसे टैग में शामिल करें।