flattenについて
概要
- dfsを用いることで実装可能
- numpyではflatten関数が用意されている
具体例
from typing import List, Any
def flatten(nested_lst: List[Any]) -> List[Any]:
rets = []
def _dfs(e):
if isinstance(e, list):
for ne in e:
_dfs(ne)
else:
rets.append(e)
_dfs(nested_lst)
return rets
assert flatten([[1,1],2,[1,1]]) == [1, 1, 2, 1, 1]
print()
assert flatten([1,[4,[6]]]) == [1, 4, 6]