सूचियों की अनियमित सूची को समतल करें

| | | | | | | | | | | |

हां, मुझे पता है कि इस विषय को पहले कवर किया गया है (यहां, यहां, यहां, यहां), लेकिन जहां तक मुझे पता है, एक को छोड़कर सभी समाधान इस तरह की सूची में विफल हो जाते हैं:

L = [[[1, 2 , 3], [4, 5]], 6] 

वांछित आउटपुट कहां है

[1, 2, 3, 4, 5, 6] 

या शायद इससे भी बेहतर, एक पुनरावर्तक। मैंने देखा कि एकमात्र समाधान जो मनमाने ढंग से घोंसले के लिए काम करता है वह पाया जाता है इस प्रश्न में:

def समतल (एक्स): परिणाम = [] एल में एक्स के लिए: अगर हैटर (एल, "__iter__") और नहीं isinstance (एल, बेसस्ट्रिंग): परिणाम। विस्तार (समतल (एल)) अन्य: परिणाम। संलग्न (एल) वापसी परिणाम समतल (एल) 

क्या यह सबसे अच्छा मॉडल है? क्या मैंने कुछ अनदेखा किया? कोई समस्या?