【发布时间】:2018-04-02 15:17:07
【问题描述】:
我正在编写的程序将字符串列表作为输入,并试图删除章节编号。我已经编写了函数,但它当前不起作用。我已经提供了我的函数和输出样本!谢谢!
def remove_chapter(chapter_header):
for i in range(101):
chapters="Chapter " + str(i)
chapter_text=[my_string.replace(chapters,"") for my_string in chapter_header]
return chapter_text
这里是当前输出不工作的功能: Output
【问题讨论】:
-
您在
for循环中有一个无条件的return语句。这通常是一个不好的迹象,因为它将在第一次迭代后退出循环,即在它完成"Chapter 0"的替换之后。 -
我已经进行了编辑,但仍然无法正确读取。
-
在 for 循环
chapter_text = chapter_header[:]之前。然后在你的列表理解中迭代chapter_text,而不是chapter_header。并将return移出循环。 -
或者只是将整个函数替换为
[re.sub(r'Chapter \d+\s*', '', s) for s in chapter_header]。不要忘记import re。