定义获取标题的函数:
def get_title(text, titles, previous_title):
for title in titles:
if title in text:
return title
return previous_title
定义引用词典:
name_script_list = {'TRUMP:':TRUMP_script_list, 'HILLARY:':HILLARY_script_list, 'WALLACE:':WALLACE_script_list}
titles = set(name_script_list.keys())
title = ''
遍历for循环中的列表:
for text in loaded_txt:
title = get_title(text, titles, title)
name_script_list[title].append(text)
基本上,其想法是get\u title()获取一系列要尝试的标题,以及最后一个标题是什么。如果出现任何标题,它将返回该标题。否则,它将返回先前的标题
我将初始标题初始化为
''
。只要文本的第一行有标题,这就行。如果没有,它将抛出一个错误。对此的修复取决于您希望它的实现方式。您是否只是不想考虑这种情况(表明loaded\u txt或可能的标题列表中存在错误)?是否要将特定人员的姓名设置为默认的初始标题?是否要跳过行直到初始标题?有很多种方法,我不确定你更喜欢哪一种