wangzhensuo 2020-03-30 17:26 采纳率: 0%
浏览 384

如何优化下面代码中python的多个for循环

我用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的次数的方法。

  • 写回答

1条回答

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-09 17:32
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog