在一个文件中查找不在python中另一个文件中的所有数字

在一个文件中查找不在python中另一个文件中的所有数字,第1张

在一个文件中查找不在python中另一个文件中的所有数字

如果你想逐行读取文件行,因为你没有那么多的内存,您可以根据需要与国际热核实验堆,如果你的文件是基于线做线性解决方案,否则看这个:

首先,您可以在终端中执行以下 *** 作以生成一些测试文件:

seq 0 3 100 > 3k.txtseq 0 2 100 > 2k.txt

然后运行以下代码:

i1 = iter(open("3k.txt"))i2 = iter(open("2k.txt"))a = int(next(i1))b = int(next(i2))aNotB = []# bNotA = []while True:    try:        if a < b: aNotB += [a] a = int(next(i1, None))        elif a > b: # bNotA += [a] b = int(next(i2, None))        elif a == b: a = int(next(i1, None)) b = int(next(i2, None))    except TypeError:        if not b: aNotB += list(i1) break        else: # bNotA += list(i1) breakprint(aNotB)

输出:

[3、9、15、21、27、33、39、45、51、57、63、69、75、81、87、93、99]如果您同时想要aNotB和bNotA的结果,则可以取消注释这两个线。

时间与Andrej Kesely的答案进行比较:

$ seq 0 3 1000000 > 3k.txt$ seq 0 2 1000000 > 2k.txt$ time python manual_iter.py        python manual_iter.py  0.38s user 0.00s system 99% cpu 0.387 total$ time python heapq_groupby.py        python heapq_groupby.py  1.11s user 0.00s system 99% cpu 1.116 total


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5617740.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存