Как разобрать строку и вернуть вложенный массив?
Мне нужна функция Python, которая принимает строку и возвращает массив, где каждый элемент в массиве является либо символом, либо другим массивом такого типа. Вложенные массивы помечаются во входной строке, начиная с '(' и заканчивая ')'.
Таким образом, функция будет действовать так:
1) foo("abc") == ["a", "b", "c"]
2) foo("a(b)c") == ["a", ["b"], "c"]
3) foo("a(b(c))") == ["a", ["b", ["c"]]]
4) foo("a(b(c)") == error: closing bracket is missing
5) foo("a(b))c") == error: opening bracket is missing
6) foo("a)b(c") == error: opening bracket is missing
Примечание: яя бы предпочел решение, котороечисто функциональный.