我想把一个带有嵌套方括号的字符串解析成一个嵌套列表。在

示例-parse_nested("abc(def(gh)ij)klm") -> ["abc", ["def", ["gh"], "ij"], "klm"]。在

我的代码可以工作,但我想知道是否有更好的方法来实现这一点。在

这里是我的代码(稍后我将编写检查以捕获格式错误的输入):def match(s, start, stop):

start = c = s.index(start)

level = 0

while c < len(s):

if s[c] == start:

level += 1

elif s[c] == stop:

level -= 1

if level == 0:

return (start+1, c)

c += 1

return None

def parse_nested(s):

if start not in s and stop not in s:

return s

else:

g = match(s, start, stop)

first = s[:g[0]-1]

middle = parse_nested(s[g[0]:g[1]])

last = parse_nested(s[g[1]+1:])

result = [first] if first else []

if type(middle) == str:

result.append([middle])

else:

result.append(middle)

if last:

if type(last) == str:

result.append(last)

else:

result += last

return result

除了使用解析库之外,还有没有更短/更好的方法来实现这一点?在

python方括号套方括号_Python解析嵌套方括号相关推荐

  1. python列表去括号_python 去括号

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 遍历字符串,将属于开括号集合的括号加入到列表中,当遇上一个闭括号的时候计算该闭括 ...

  2. python两个中括号_python中括号

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 遍历字符串,将属于开括号集合的括号加入到列表中,当遇上一个闭括号的时候计算该闭括 ...

  3. python如何选择命令_python 解析命令行选项

    问题: 程序如何能够解析命令行选项 解决方案 argparse 模块可被用来解析命令行选项 argparse 模块 argparse 模块是标准库中最大的模块之一,拥有大量的配置选项 dest 参数指 ...

  4. python处理xml文件_Python解析并修改XML文件

    XML 本质上只是一种数据格式,它的本意并不是管理数据,因此,在 XML 应用中,数据的管理仍然要借助数据库,尤其是当数据量很大.性能要求很高的时候. XML数据库具有以下优势: XML数据库能够对半 ...

  5. python读取windows日志_Python解析windows系统日志文件

    DOM是Document Object Model的简称,XML 文档的高级树型表示.该模型并非只针对 Python,而是一种普通XML 模型.Python 的 DOM 包是基于 SAX 构建的,并且 ...

  6. python嵌套循环注意事项_python循环嵌套的几种使用方法

    使用循环嵌套来获取100以内的质数 使用循环嵌套来获取100以内的质数 #!/usr/bin/python # -*- coding: UTF-8 -*- num=[]; i=2 for i in r ...

  7. python读取json并列_python解析含有重复key的json方法

    python自带的json包能够方便的解析json文本,但是如果json文本中包含重复key的时候,解析的结果就是错误的.如下为例 {"key":"1", &q ...

  8. python列表去括号_python的常用序列

    list 1.list(obj)函数 obj可以为:元组(1,2,3),可迭代对象,字符串等转换换成数组类型 2. 列表元素的添加 (1)list+[添加的元素] (2)list.append(添加元 ...

  9. python分析txt文件_python解析文本文件

    python解析的文件原始数据: 汉皇重色思倾国,御宇多年求不得. 杨家有女初长成,养在深闺人未识. 天生丽质难自弃,一朝选在君王侧. 回眸一笑百媚生,六宫粉黛无颜色. 春寒赐浴华清池,温泉水滑洗凝脂 ...

最新文章

  1. 判断正则 shell_年薪百万之路--第七十八天 Linux基础 shell
  2. SecureCRT 日志添加时间戳(精确到毫秒)
  3. android自定义控件实例
  4. python词云的简单使用
  5. Linux下shell命令 1
  6. AcWing 4244. 牛的比赛(双向建图BFS)
  7. php phonegap,PHP数据是无休止的加载,jquery,phonegap
  8. 余世伟视频笔记----如何塑造管理者的性格魅力领袖根性之细心和胆识
  9. SDN相关组织之ODL(opendaylight)
  10. Python 计算两个连通子图距离_复杂网络分析之python利器NetworkX
  11. 电脑计算机简单密码设置方法,电脑开机密码怎么设置,开机密码设置很简单!
  12. Python matplotlib 中填充颜色
  13. 机器人门禁控制盒怎么接线方法_门禁系统接线方法
  14. 11-液晶显示器主要看什么参数?电脑显示器各项参数的含义科普大全
  15. 图像细节增强(直方图均衡化,对数变换,Gamma变换(校正))
  16. 在线引流工具Tcpcopy原理、环境搭建、使用、采坑
  17. java中什么是装饰者模式? 装饰者模式的使用!!
  18. Windows 2008R2 +MDT2013+WDS(1)
  19. 如何做好工作中的思考沉淀?
  20. 如何选择负载均衡设备?

热门文章

  1. 怎样选择适合自己的推广方式?
  2. 程序员面试宝典学习笔记01
  3. 古典发烧音乐唱片品牌介绍
  4. 高级篇之MZB01直播设备广告视频直播方案
  5. matlab三维显示圆锥,matlab画圆锥曲面
  6. javascript权威指南(第六版) 读书笔记
  7. 泛微E8获取流程信息(前端篇)
  8. 在电脑版使用微信公众号或wap版扫码登陆解决方案
  9. 想做游戏开发,我应该会点啥?
  10. 地铁刷卡数据分析第四关