Как (рекурсивно) изменить список в список списков на основе определенных элементов в списке. Например, как бы я изменил
['(', 'hi', 'there', '(', 'how', ' are', '(', 'you', ')', ')', ')']
на
['hi', 'there', ['how', 'are', ['you']]]
Я предполагаю, что базовая c рекурсивная функция будет выглядеть как
def makelist(l):
if l[0] != '(':
return token
else:
return makesublist(l[0]) + makelist(l[1:])
и функция makeublist собирается создать подсписок из каждого '(' to ')'