You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将CSV导入的分号分隔字符串列表转换为列表的列表?

将分号分隔的字符串数组转换为嵌套列表

你给出的输入数组是:

arr = ['foo1;foo2;foo3', 'baa1;baa2;baa3', 'bla1;bla2;bla3']

目标是转换成这样的嵌套列表:

arr2 = [['foo1', 'foo2', 'foo3'], ['baa1', 'baa2', 'baa3'], ['bla1', 'bla2', 'bla3']]

其实这个需求用Python实现起来非常直接,下面给你两种常用的方式:

方式一:简洁的列表推导式(推荐)

这是Python里处理这类转换最优雅的方式,一行代码就能搞定:

arr = ['foo1;foo2;foo3', 'baa1;baa2;baa3', 'bla1;bla2;bla3']
arr2 = [item.split(';') for item in arr]

原理说明:

  • 我们遍历原数组arr中的每一个字符串元素item
  • 对每个item调用split(';')方法:这个方法会把字符串按照分号;作为分隔符,拆分成一个子列表。比如'foo1;foo2;foo3'.split(';')会直接返回['foo1', 'foo2', 'foo3']
  • 列表推导式会自动把所有拆分后的子列表收集起来,最终形成你需要的嵌套列表arr2

方式二:循环+append(更直观,适合新手理解)

如果你觉得列表推导式有点抽象,也可以用显式的循环和append操作来实现,逻辑是完全一样的:

arr = ['foo1;foo2;foo3', 'baa1;baa2;baa3', 'bla1;bla2;bla3']
arr2 = []  # 先初始化一个空的结果列表

for item in arr:
    # 把当前字符串按分号拆分成子列表
    sub_list = item.split(';')
    # 将子列表添加到结果列表中
    arr2.append(sub_list)

运行上面任意一段代码,打印arr2都会得到你想要的结果。

内容的提问来源于stack exchange,提问作者user12297342

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:05:57