リストの不規則なリストをフラット化する

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

はい、このテーマは以前に取り上げられたことがあると思います(こちら、こちらこちら、ここ)ですが、私が知る限り、1つを除くすべてのソリューションは、次のようなリストに失敗します。

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

目的の出力がどこにあるか

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

または、おそらくさらに良いのは、イテレータです。任意のネストで機能することがわかった唯一の解決策は、この質問にあります:

  def flatten(x):result = [] for el in x:if hasattr(el、 "__iter__")and not isinstance(el、basestring):result.extend(flatten(el))else:result.append(el)return結果flatten(L) 

これは最高のモデルですか?私は何かを見落としましたか?問題はありますか?