与迭代器一起使用的差异库?

时间:2019-07-10 08:51:24

标签: python-3.x difflib google-diff-match-patch

我想知道是否有一个差异库可与迭代器/生成器一起使用以提高性能。理想情况下,参数和响应都应该是迭代器,以避免将它们转换为列表。

我的“文本”存储在(某种)树结构中,我使用迭代器遍历文本。例如,如果我使用SequenceMatcher中的difflib,则必须将迭代器转换为以下列表:sm = SequenceMatcher(None, list(iterator1, iterator2)

如果库也将diff结果作为迭代器返回,这也会很有帮助,例如difflib并非如此,例如sm.get_opcodes()返回一个列表。

我也很快检查了google-diff-match-patch,但是它似乎只允许输入文本,而不允许列表-因此,我必须将迭代器转换为纯文本。因此,尽管应该更快一些,但在串联时我可能会得到较差的结果(我会在某个时候尝试一下,但是更改为该库将需要对代码进行大量更改)。

那么,在进行区分时是否有任何支持迭代器的库?还是给定算法细节实际上是不可能的?

0 个答案:

没有答案