如何拆分多个支架

时间:2014-03-22 21:06:51

标签: python

所以我想做这样的事情 "(1.0)"返回[" 1"," 0"] 类似地"((1.0).1)"返回["(1.0)"," 1")

我如何做这个python?谢谢你的帮助

所以基本上我想打破字符串"(1.0)"到列表[1,0],其中点是分隔符。

一些例子

((1.0)。(2.0)) - > [(1.0),(2.0)]

<(>((1.0)。(2.0))。1) - &gt; [((1.0)。(2.0)),1]

我希望这更清楚。

2 个答案:

答案 0 :(得分:1)

你需要构建一个小解析器。遍历字符串的字符,跟踪括号的当前嵌套级别。然后你可以通过首先检查字符是.来检测你关心的.,其次,那时只有一个级别的括号打开。然后将字符放在一个缓冲区或另一个缓冲区中,具体取决于您是否已达到.

答案 1 :(得分:1)

这是我的版本:

def countPar(s):
    s=s[1:-1]
    openPar=0
    for (i,c) in enumerate(s):
        if c=="(":
            openPar+=1
        elif c==")":
            openPar-=1
        if openPar==0:
            break
    return [s[0:i+1],s[i+2:]]