ErlangとRubyの両方には、配列を平坦化するための関数が付属しています。言語に追加するためのこのようなシンプルで便利なツールのようです。これを行うことができます:
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> mess.flatten()
[1, 2, 3, 4, 5, 6]
あるいは:
>>> import itertools
>>> mess = [[1, [2]], 3, [[[4, 5]], 6]]
>>> list(itertools.flatten(mess))
[1, 2, 3, 4, 5, 6]
代わりに、Pythonでは、配列をゼロから平坦化するための関数を記述するという問題を経験する必要があります。これはばかげているように見えますが、配列の平坦化はよくあることです。これは、2つの配列を連結するためのカスタム関数を作成する必要があるようなものです。
私はこれを無駄にグーグルで検索したので、ここで質問しています。Python 3のような成熟した言語に10万のさまざまなバッテリーが含まれているのに、配列を平坦化する簡単な方法が提供されない特別な理由はありますか?そのような機能を含めるという考え方は、ある時点で議論され、拒否されましたか?
extend
が、flattenの方がはるかにエレガントでした。ただし、このパターンが標準ライブラリでフラット化されていることを正当化するのに十分なほど一般的である場合、私は負けです。