在尊重括号的同时用逗号分割列表中的字符串

2024-01-08

我有一个清单,例如

a = ['john(is,great),paul,school', 'robert,jack,john']

然后我正在构建一个空列表来附加分割

b = []

然后我这样做

for i in a:
    b.append(i.split(','))

但列表是这样出现的

[['john(is', 'great)', 'paul', 'school'], ['robert', 'jack', 'john']]

这样做是因为它在逗号处分割,但是有另一种方法可以分割它,以便输出是

['john(is,great)', 'paul', 'school', 'robert', 'jack', 'john']

您可以使用list.extend()单独添加元素:

for i in a:
    b.extend(i.split(','))

以逗号分割文本不在括号内您可以使用以下正则表达式:

re.split(r',(?=[^()]*(?:\(|$))', i)

仅当它后面没有包含任何括号(左括号或右括号)的文本时,才会以逗号进行拆分,直到下一个左括号为止。当您有嵌套括号时,此表达式会失败,但适用于您的简单情况:

>>> import re
>>> i = 'john(is,great),paul,school'
>>> re.split(r',+(?=[^()]*(?:\(|$))', i)
['john(is,great)', 'paul', 'school']

对于更复杂的拆分,请使用成熟的解析器。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在尊重括号的同时用逗号分割列表中的字符串 的相关文章

随机推荐

  • 在 Chrome 上将 drawImage 与 Canvas 结合使用非常慢

    我一直在尝试使用drawImage 将SVG 文件的大量实例绘制到画布上 通过使用 SVG 作为源创建单个图像元素 然后对画布上的每个实例使用 drawImage 我希望即使有大量实例也可以非常快速地在画布中生成合成图像 就性能而言 这在
  • nt!KeWaitForSingleObject 不带参数

    我目前正在尝试调试系统死锁 但我很难理解这一点 Child SP RetAddr Args to Child Call Site fffff880 035cb760 fffff800 02ecef72 00000000 00000002 f
  • C++ SQL数据库比较[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 合并特定日期范围内的 Pandas DataFrame

    我有 2 个数据框 一个为Invoice Data另一个用于Promotion Dates Invoice Data数据框 LocationNo InvoiceDate InvoiceAmount A 01 Jul 20 79 B 01 J
  • 在 Firefox 中的新选项卡中打开链接

    我正在开发一个 Firefox 扩展 如何才能在新标签页中打开网页上的所有链接 这通常是 Firefox 中处理新链接的可配置选项 因此它们可能会用它覆盖您的扩展 然而 The code a href http www example co
  • Django自递归外键过滤器查询所有子项

    我有一个带有自引用外键关系的模型 class Person TimeStampedModel name models CharField max length 32 parent models ForeignKey self null Tr
  • ios UIImage 超出 UIImageView 边框

    这里黑色边框显示 UIImageView 的父 UIView 红色边框显示 UIImageView 我正在从服务器下载图像 但图像超出了 UIImageView 区域 如图所示 我正在以编程方式进行此操作 任何帮助将不胜感激 我在下面添加代
  • C# FTP,如何检查路径是文件还是目录?

    我有一个包含一些 FTP 路径的数组 如下所示 ftp ip 目录 目录1 ftp ip 目录 目录2 ftp ip 目录 文件 txt ftp ip 目录 directory3 ftp ip 目录 another file csv 如何确
  • 标准 C 中是否有推荐的整数类型来存储函数指针

    C99标准有uintptr t 一个推荐的整数类型 用于将数据指针 指向对象的指针 转换为 但我没有找到等效的整数类型来存储函数指针 是我忽略了吗 特定的编译器可以定义这样的类型 即使它不在标准中 但编译器更有可能声明函数指针可以存储在 例
  • 圆形鱼眼图像扭曲为平面图像

    截至 2015 年 11 月 12 日更新 我将 PanoTools 插件与 Photoshop 和 Hugin 一起使用 并使用了所有这些参数 最终我找到了满足我最低要求的投影 HFOV 和图像输出尺寸参数 参数 Processed Ou
  • ActiveX (COM) 控件在被其父控件关闭时进行清理的正确方法是什么?

    我遇到的问题是 我的 net 控件在包装以供 ActiveX 使用时无法正确清理 当我尝试关闭 SDK 的测试容器应用程序 TstCon32 exe 时 默认行为会使它作为无 GUI 进程运行 我最初通过谷歌找到的解决方法是覆盖 WndPr
  • 在 Ruby 中反转哈希值

    我如何反转哈希中的元素 保持相同的值和键 但反转它们在哈希中的顺序 Like so 4 gt happiness 10 gt cool lala gt 54 1 gt spider 并将其转换为 1 gt spider lala gt 54
  • PHP 在文本区域中回显时显示 \r\n 字符

    我的数据正在读取从数据库 文本 保存的数据 我的问题是它也有这些字符 r n 我怎样才能阻止这些字符的显示 在将数据库文本放入文本区域之前 调用 nl2br 函数作为参数 r n 字符是 ASCII 不可见 字符 编码回车和换行 http
  • Android 主屏幕小部件(图标、标签 - 样式)

    我正在尝试创建一个可以放置在 Android 主屏幕上的图标 小部件 1 个单元 x 1 个单元 该小部件的外观和行为与 Android 中的其他标准快捷方式完全相同 它将有一个图标 在该标签下有一个标签 可以使用轨迹球 可突出显示 选择它
  • Web 应用程序和 API 在同一个 Laravel 项目中?

    我正在尝试找出构建我即将开始的新项目的最佳方法 我们目前有一个网络应用程序和一个移动应用程序 它们都通过 API 提供数据 目前 Web 应用程序是在安装 CodeIgniter 时完成的 而 API 是在单独安装 CodeIgniter
  • webview 从输入字段打开相机,无需文件选择器

    我的个人应用程序快完成了 就是按下输入字段 用相机拍照并将其上传到外部php服务器 最后一部分工作正常 我只是无法让它按照我想要的方式工作 当我按下网络视图 外部源 中的输入字段时 我会看到名为 图像选择器 的菜单 其中包含选项 相机和文档
  • 访问目标函数 Gekko 外部函数中的决策变量值

    我需要访问目标函数之外的决策变量 我有以下内容 tc var for index in index f a tc var index m Var value 25 name tc var format index lb 15 ub 45 i
  • PdfWriter 和事件

    我想创建一个 PdfWriter 对象并设置页眉和页脚事件 问题是 如果我创建一个新的 PDF 它就会起作用 但我的问题是我的输出流中已经有一个 PDF 请在下面找到我的示例代码 Document document new Document
  • Magento - 无法将产品添加到管理面板后端的手动订单中

    我遇到一个问题 当我在 Magento 1 4 1 1 的管理面板中创建订单时 我可以启动订单 选择客户 然后选择语言 它会加载所有信息 但是当我去时到 添加产品 我可以打开它并选择产品 但是当我单击 将所选产品添加到订单 时 它会短暂显示
  • 在尊重括号的同时用逗号分割列表中的字符串

    我有一个清单 例如 a john is great paul school robert jack john 然后我正在构建一个空列表来附加分割 b 然后我这样做 for i in a b append i split 但列表是这样出现的