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 seatunnel-web使用SQL组件时候后台报错,无法找到表格
  • ¥15 fpga自动售货机数码管(相关搜索:数字时钟)
  • ¥15 用前端向数据库插入数据,通过debug发现数据能走到后端,但是放行之后就会提示错误
  • ¥15 python天天向上类似问题,但没有清零
  • ¥30 3天&7天&&15天&销量如何统计同一行
  • ¥30 帮我写一段可以读取LD2450数据并计算距离的Arduino代码
  • ¥15 C#调用python代码(python带有库)
  • ¥15 飞机曲面部件如机翼,壁板等具体的孔位模型
  • ¥15 vs2019中数据导出问题
  • ¥20 云服务Linux系统TCP-MSS值修改?