所以我想做这样的事情 "(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]我希望这更清楚。
答案 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:]]