马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
请问,如果我输入 f(a, g(a, b, f(a,b,c)), b, c) 或者 f(a, FF(a, b, fff(a, b, c, FfFf(a,b,c,d)), FfFf(a,b,c,d)), c,d) 这样的数据,
要怎么把它转换成 每个括号一个列表呢? 例如, [a, [a, b , [a,b,c]] , b , c ]], 我是按照( )来进行切分的,然后再把每一个括号进行组合
但是我得到的是这样的 [['(', 'a', ',', 'b', ',', 'c', ')'], ['(', 'a', ',', 'b', ',', 'f', '(', 'a', ',', 'b', ',', 'c', ')'], ['(', 'a', ',', 'g', '(', 'a', ',', 'b', ',', 'f', '(', 'a', ',', 'b', ',', 'c', ')']]
lou 发表于 2019-6-29 11:39
感觉不太对。。 因为如果是这个例子的话 f(a, FF(a, b, fff(a, b, c, FfFf(a,b,c,d)), FfFf(a,b,c,d)), c ... - import re
- s = 'f(a, FF(a, b, fff(a, b, c, FfFf(a,b,c,d)), FfFf(a,b,c,d)), c,d)'
- s1 = re.sub('\w*\(', '(', s) #过滤括号前的字母
- s2 = re.sub('\(', '[', s1)#替换左中括号
- s3 = re.sub('\)', ']', s2)
- print(s3)
复制代码
|