【发布时间】:2020-04-19 18:29:10
【问题描述】:
您如何(递归地)根据列表中的某些元素将列表更改为列表列表。例如,我将如何改变
['(', 'hi', 'there', '(', 'how', ' are', '(', 'you', ')', ')', ')']
进入
['hi', 'there', ['how', 'are', ['you']]]
我猜基本的递归函数看起来像
def makelist(l):
if l[0] != '(':
return token
else:
return makesublist(l[0]) + makelist(l[1:])
makesublist 函数将从每个 '(' 到 ')' 生成子列表
【问题讨论】:
-
你有没有尝试过reduce?
-
对不起,我想看看如何在没有导入的情况下做到这一点:)
-
添加您尝试过但不起作用的代码
-
我输入了基本结构,但我仍在尝试理解它的递归性质。
标签: python-3.x list parsing recursion