注意:这是一系列阵列操作挑战中的第二个问题。对于上一个挑战,请单击此处。
分隔嵌套列表
要在嵌套列表中分离值,请对其进行展平,然后包装每个值,使其与以前的嵌套深度相同。
也就是说,此列表:
[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]
如果我错过了一个极端案例,请不要犹豫发表评论。
例
我以一个快速的(解开的)Python 3解决方案为例,您可以在repl.it上对其进行测试。