नोट: यह सरणी-हेरफेर चुनौतियों की एक श्रृंखला में # 2 है । पिछली चुनौती के लिए, यहां क्लिक करें ।
नेस्टेड सूची को अलग करना
नेस्टेड सूची में मानों को अलग करने के लिए, इसे समतल करें, और फिर प्रत्येक मान को लपेटें ताकि यह पहले की तरह ही नेस्टेड गहराई पर हो।
यह कहना है, यह सूची:
[1, [2, 3], [4, 4, [5, 2], 1]]
बन जाएगा:
[1, [2], [3], [4], [4], [[5]], [[2]], [1]]
चुनौती
आपका कार्य एक प्रोग्राम लिखना है जो सकारात्मक पूर्णांकों (आपकी भाषा की सीमाओं के भीतर) की किसी भी नेस्टेड सूची को लेता है और इस पृथक्करण ऑपरेशन को करता है।
आप एक फ़ंक्शन सबमिट कर सकते हैं जो सूची को एक तर्क के रूप में लेता है, या एक पूर्ण कार्यक्रम जो I / O करता है।
जैसा कि यह है कोड-गोल्फ है , सबसे छोटा सबमिशन (बाइट्स में) जीतता है! *
* मानक गोल्फिंग खामियों पर रोक लगाई जाती है। तुम्हें ड्रिल पता है।
परीक्षण के मामलों
इनपुट सूची में केवल आपकी भाषा के मानक पूर्णांक आकार में पूर्णांक होंगे। भाषाओं की बाधाओं से उन्हें प्रतिस्पर्धा से रोकने के लिए, मूल्यों को 10 से अधिक की गहराई पर घोंसला नहीं बनाया जाएगा।
आप मान सकते हैं कि इनपुट में खाली उप-सूची [[5, []]]
नहीं होगी : उदाहरण के लिए - नहीं दी जाएगी। हालांकि, मुख्य सूची खाली हो सकती है।
[] -> []
[[1, 2]] -> [[1], [2]]
[3, [4, 5]] -> [3, [4], [5]]
[3, [3, [3]]] -> [3, [3], [[3]]]
[[6, [[7]]]] -> [[6], [[[7]]]]
[[5, 10], 11] -> [[5], [10], 11]
अगर मैंने एक कोने के मामले को याद किया है तो एक टिप्पणी छोड़ने में संकोच न करें।
उदाहरण
मैंने एक त्वरित (ungolfed) पायथन 3 समाधान को एक उदाहरण के रूप में एक साथ फेंक दिया - आप इसे repl.it पर परीक्षण कर सकते हैं ।