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

Python文本拆分问题:如何将特定格式文本转为嵌套列表

如何修改代码实现目标文本格式转换?

你的需求是将以下输入文本:

1:a,b,c
2:d,e,f

转换为嵌套列表格式:

[[1, ['a', 'b', 'c']],[2, ['d', 'e', 'f']]]

你当前的代码存在两个小问题:一是变量名笔误,二是没有对冒号后的字符串做逗号分割。你现在的代码:

letters = open("letters.txt")
alist = []
for line in favmovies:
    line = line.strip().split(":")
    line[0] = int(line[0])
    alist.append(line)

运行后得到的结果是:

[[1, 'a,b,c'], [2, 'd,e,f']]

修正方案

咱们只需要两步就能搞定:

  1. 修正变量名的笔误:把循环里的favmovies改成letters,不然会触发未定义变量的错误
  2. 对冒号分割后的第二部分字符串,再用逗号split(",")拆分成列表

另外,推荐用with语句打开文件,它会自动帮你关闭文件,更安全规范。修改后的代码如下:

alist = []
with open("letters.txt") as letters:
    for line in letters:
        # 先按冒号分割成编号和字符字符串两部分
        parts = line.strip().split(":")
        # 编号转整数,字符字符串按逗号拆成列表
        item_num = int(parts[0])
        char_list = parts[1].split(",")
        # 把组合好的元素加入列表
        alist.append([item_num, char_list])

# 输出结果
print(alist)

运行这段代码后,就能得到你预期的结果:

[[1, ['a', 'b', 'c']], [2, ['d', 'e', 'f']]]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 10:09:03