使用difflib

时间:2015-07-10 22:41:55

标签: python string-matching difflib

))大家好,我想找到使用difflib的两个字符串变量之间最接近的匹配,这是我的情况......

varA = 'plainmountain'
varB = 'skymountain'

newVarA = 'piaimauntain'

我想difflib在VarA和VarB变量中找到最接近的匹配(它们只是变量,而不是列表),如果我在搜索中添加第三个变量varC怎么办?我怎么能让difflib找到一个最接近的匹配。

目前我正在尝试这个......

varA = 'plaimountain'
varB = 'skymountain'
varAll = [varA, varB, varC]
newVarA = 'piaimauntain'

我是这样做的......

import difflib
d = difflib.Differ()
diff = d.compare(varA, newVarA)
print '\n'.join(diff)

现在我这样做......

from difflib import SequenceMatcher
result = difflib.get_close_matches(newVarA, varAll, 1, 0.7)
print result

谢谢高级。

1 个答案:

答案 0 :(得分:0)

如果我理解你的任务,它会有所帮助:

import difflib

varA = 'plaimountain'
varB = 'piaimauntain'
varC = 'skymountain'
varS = ['piaimauntain','sky','skymountain','dog','231']

#it parse varB by letters
best = difflib.get_close_matches(varA, varB)
print best

best = difflib.get_close_matches(varA, [varB])
print best

best = difflib.get_close_matches(varA, [varB,varC])
print best

best = difflib.get_close_matches(varA, [varB,varS])
print best