注:これは、一連のアレイ操作の課題の第2位です。前のチャレンジについては、ここをクリックしてください。
ネストされたリストの分離
ネストされたリスト内の値を分離するには、フラット化してから、各値をラップして、以前と同じネストされた深さになるようにします。
つまり、このリストは次のとおりです。
[1, [2, 3], [4, 4, [5, 2], 1]]
になるでしょう:
[1, [2], [3], [4], [4], [[5]], [[2]], [1]]
チャレンジ
あなたの仕事は、(あなたの言語の制限内で)正の整数のネストされたリストを取り、この分離操作を実行するプログラムを書くことです。
リストを引数として受け取る関数、またはI / Oを実行する完全なプログラムを送信できます。
これはcode-golfであるため、最短の送信(バイト単位)が勝ちです!*
*標準的なゴルフの抜け穴は禁止されています。あなたはドリルを知っています。
テストケース
入力リストには、言語の標準整数サイズの整数のみが含まれます。言語の制約が競合するのを防ぐため、値は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]
コーナーケースを逃した場合、コメントを残すことをheしないでください。
例
簡単な(未使用の)Python 3ソリューションを例としてまとめました。repl.itでテストできます。