你的意思是自动化的方式?
我不这么认为.
您需要使用堆栈创建程序,在找到打开的括号时按下索引,并在找到右括号时弹出它.
在Python中,您可以轻松地将列表用作堆栈,因为它们具有append()和pop()方法.
def find_parens(s):
toret = {}
pstack = []
for i, c in enumerate(s):
if c == '(':
pstack.append(i)
elif c == ')':
if len(pstack) == 0:
raise IndexError("No matching closing parens at: " + str(i))
toret[pstack.pop()] = i
if len(pstack) > 0:
raise IndexError("No matching opening parens at: " + str(pstack.pop()))
return toret
希望这可以帮助.