使用 difflib 查找两个字符串变量之间的最接近匹配 [英] Find the closest match between two string variables using difflib

查看:47
本文介绍了使用 difflib 查找两个字符串变量之间的最接近匹配的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

))Hi all, I would like to find the closest match between two string variables using difflib, this is my case...

varA = 'plainmountain'
varB = 'skymountain'

newVarA = 'piaimauntain'

我想通过 difflib 在 VarA 和 VarB 变量中找到最接近的匹配(它们只是变量,不是列表),如果我在搜索中添加第三个变量 varC 会怎样????我怎样才能让 difflib 找到一个最接近的匹配项.

I would like to difflib to find the closest match in VarA and VarB variables (they are just variables, not a list), what if I add a third variable varC in the search??? How could I get difflib to find a single closest match.

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

Currently Im trying this...

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

感谢高级.

推荐答案

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

If I understand your task it will help:

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

这篇关于使用 difflib 查找两个字符串变量之间的最接近匹配的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆