我用python写了查找单词在字幕文件中例句的程序。具体思路是,待查找的单词放在TXT文件中。文件夹zimu中放着多个字幕文件。程序先读取文件夹中多个文件,生成列表类型的数据。如下形式:
列表中的元素是一个个列表,列表第一项是文件名,后面是这个文件的字幕。
all_files = [
['肖申克的救赎.ssa','第一句字幕',‘第二句字幕’。。。等等],
['老友记.ssa','第一句字幕',‘第二句字幕’。。。等等],
['阿甘正传.ssa','第一句字幕',‘第二句字幕’。。。等等]
]
然后,读取单词txt获得如下数据:
words = ['sample','hello','world']
然后如下伪代码处理。
for w in words:#遍历每个单词
for 文件内容 in all_files:#遍历获得一篇字幕文件内容
for 每行字幕 文件内容:#遍历获得一行字幕
#这里判断当前遍历的单词是否在当前行字幕中
#有一些字符串分割,词形还原的处理
目前速度是在300个字幕文件中搜索一个单词的时间是300秒左右。
想请教各位大神怎么优化?我自己想了很久也找不到可以减少for的次数的方法。