如何解决如何加快我的代码以比较 Python 中的两个文件 - 对于 1 GB 大小的文件 (file.txt)
如何加快我的代码以在 Python 中比较两个文件 - 对于 1 TB 大小的文件 (file.txt) 我的大小文件 f1.txt = 700MB 和其他 100,000,000 行 f2.txt = 370MB 其他 600K 行
f1 = open("./2/f1.txt","r",encoding="utf8,")
f2 = open("./2/f2.txt",encoding="utf8")
cc = open("./2/out.txt","w",encoding="utf8")
f1_raw = f1.readlines()
f2_raw = f2.readlines()
a = f1_raw
b = f2_raw
for x in a:
if not x in b:
cc.write(x+"\n")
for x in b:
if not x in a:
cc.write(x)
f1.close()
f2.close()
cc.close()
解决方法
我认为您可以创建一个字典,将 f1 中的每一行作为键,将 f2 中的每一行作为值。然后在字典上循环。
f1 = open("file.txt")
f2 = open("dummy.txt")
f1_raw = f1.readlines()
f2_raw = f2.readlines()
a = f1_raw
b = f2_raw
d = {}
for i,j in zip(a,b):
d |= {i:j}
for c in a:
if c in d.values():
do something..
for k in b:
if k in d.keys():
do something..
列表具有线性时间复杂度 O(N),而 Python 中的字典具有恒定时间复杂度 O(1),这意味着在字典中查找速度更快。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。