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

Python生成章节-段落词数字典出错,结果为章节总词数求排查

问题排查:生成章节段落词数列表的代码错误

问题背景

给定book字符串列表(元素对应书籍每行内容,段落以空字符串分隔,章节标题与前后内容以两个空字符串分隔),目标是生成chapter_words字典:键为章节标题('I'/'II'/'III'/'IV'/'V'),值为对应章节内各段落的词数组成的列表。

已成功生成chapter_paragraphs字典(格式示例:{'I': ['line1 line2', 'line3 line4'], ...}),但后续生成chapter_words的代码未得到预期结果,字典值变成了章节总词数而非段落词数列表。

错误原因

代码存在变量名拼写不一致的问题:

  • 循环内初始化的段落词数列表变量是words_per_parag
  • 但后续添加词数和赋值时使用的是words_per_paragraph

这两个是完全独立的变量,若words_per_paragraph在外部已被定义,会导致所有章节的词数都追加到同一个全局列表中;若未定义则会直接触发报错。最终导致输出结果不符合预期。

修正后的代码

chapter_words = {}

for chapter, paragraphs in chapter_paragraphs.items():
    words_per_paragraph = []  # 统一变量名

    for parag in paragraphs:
        words = parag.split()
        count = len(words)
        words_per_paragraph.append(count)  # 使用正确的变量名

    chapter_words[chapter] = words_per_paragraph

验证结果

修正后,chapter_words会生成预期格式,示例如下:

{'I': [2, 2], 'II': [3, 6, 7], ...}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 19:58:11