python中重复遍历序列如何节省性能开销

python中重复遍历序列如何节省性能开销

伪装你 发布于 2021-11-28 字数 691 浏览 703 回复 1

重复遍历序列的时候,一次性把序列加载到内存导致整个遍历过程非常慢。使用with 或生成器来遍历,内存控制的挺好的,但缺点是只能遍历一次,或者生成器可以重复遍历 ?

下面是代码片段

def getInWhiteList(sourcefile, keywordfile, savefile):
    """找出包含白名单关键词的行,并写入到新文件"""

    l = []
    sourcelist, keywordlist = open(sourcefile).readlines(), open(keywordfile).readlines()

    for line in sourcelist:
        for word in keywordlist:
            if word.strip() in line:
                l.append(line)
                break
    open(savefile, 'w').writelines(l)

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

刘备忘录 2021-11-28 1 楼

重新再赋值一次就能再使用了。