Распаковка многомерных списков Python в один список

Есть функция которая принимает массив. Нужно распаковать его.

def flat_list(array):
    # your code here
    return array

if __name__ == '__main__':
    assert flat_list([[[2]], [4, [5, 6, [6], 6, 6, 6], 7]]) == [2, 4, 5, 6, 6, 6, 6, 6, 7]

Ответы (2 шт):

Автор решения: dIm0n

Вот так вот:

from pandas.core.common import flatten
# from matplotlib.cbook import flatten  # либо так

def flat_list(array):
    return list(flatten(array))

if __name__ == '__main__':
    assert flat_list([[[2]], [4, [5, 6, [6], 6, 6, 6], 7]]) == [2, 4, 5, 6, 6, 6, 6, 6, 7]
→ Ссылка
Автор решения: Pavel Durmanov
In [87]: data = [[[2]], [4, [5, 6, [6], 6, 6, 6], 7]]

In [88]: def flatten(data):
    ...:     for item in data:
    ...:         if isinstance(item, list):
    ...:             yield from flatten(item)
    ...:         else:
    ...:             yield item
    ...:

In [89]: assert list(flatten(data)) == [2, 4, 5, 6, 6, 6, 6, 6, 7]
→ Ссылка