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

如何将TXT文件拆分为ID和句子两个列表并将句子拆分为单词列表

代码调整方案

现有代码问题

  • 你使用制表符\t作为分割符,但示例文件的ID和句子之间是多个空格分隔,分割逻辑不匹配,会导致切分失败
  • 缺少句子拆分为单词的处理逻辑,无法生成要求的嵌套单词列表

修改后可直接运行的代码

path = "s.txt"

id_list = []
word_nested_list = []

# 用with上下文管理器操作文件,执行完会自动关闭文件,更安全规范
with open(path, "r", encoding="utf-8") as read_file:
    for line in read_file:
        strip_line = line.strip()
        # 跳过空行避免运行报错
        if not strip_line:
            continue
        # 整行最多按空格分割1次,分离ID和完整句子,不会拆分句子内部的空格
        id_val, sentence = strip_line.split(maxsplit=1)
        id_list.append(id_val)
        # 句子转全小写后按空格拆分,得到单句的单词列表
        word_list = sentence.lower().split()
        word_nested_list.append(word_list)

# 输出验证结果
print("ID列表:", id_list)
print("嵌套单词列表:", word_nested_list)

输出效果

  • ID列表输出:['1e.jpg#0', '2e.jpg#1', '3e.jpg#2', '4e.jpg#3']
  • 嵌套单词列表输出格式和要求完全一致:
[
  ["a", "dog", "going", "for", "a", "walk", "."],
  ["a", "boy", "is", "going", "to", "swim"],
  ["a", "girl", "is", "chasing", "the", "cat", "."],
  ["three", "people", "are", "going", "to", "a", "hockey", "game"]
]

如果需要去掉句子末尾的句号,可以把单词拆分的逻辑改成:

word_list = [w.strip('.') for w in sentence.lower().split()]

即可自动过滤单词前后的句号。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:45:04