我试图通过使用python中定义compare(a,b)
的类方法的结果来描述两个字符串之间的差异。我以以下方式使用。Differ
difflib
compare(a,b)
s1 = ["one", "three", "twoo"]
s2 = ["one", "tow", "tree"]
d = difflib.Differ()
result = d.compare(s1, s2)
# without this for loop, the result is as expected
for r in result:
print(r)
desc = describe_diff(result)
for k, value in desc.items():
print(k, value)
我的问题是当我在将它传递给我创建result
的函数之前打印它时,结果是错误的。describe_diff
但是当我注释掉打印的for循环时,result
输出就可以了。我试过result
一个接一个地打印 using 两个 for 循环,但它只打印一次。compare(s1,s2)
但是,当我在两个循环之间(或在打印循环和我的函数调用之间)插入in 时,describe_diff
一切都很好。result
那么要多次使用的值,我必须compare
每次都执行该方法吗?一定有办法解决这个问题。请帮忙。