【发布时间】:2022-12-24 21:03:46
【问题描述】:
挣扎于如何以 pythonic 方式执行此操作。我有一个我们可以称之为名字的列表
[('Jimmy', 'Smith'), ('James', 'Wilson'), ('Hugh' "Laurie')]
然后我有两个变量
First_name = 'Jimm'
Last_name = 'Smitn'
我想遍历这个列表列表,名字和姓氏模糊匹配这些值并返回最接近指定的 First_name 和 Last_name 的列表
【问题讨论】:
-
看看
difflib.SequenceMatcher。max(lst, key=lambda x: SequenceMatcher(None, " ".join(x), " ".join((First_name, Last_name))).ratio()) -
效果很好!谢谢@OlvinRoght!如果你把它放在一个答案中,我会很乐意赞成它
-
模糊匹配不是一个明确定义的概念。如果你不想拿出自己的,精确的告诉你某事是否匹配的规则,那么你将不得不使用内置假设的第三方库。在第一种情况下,问题没有正确聚焦,否则它会要求第三方库建议。无论哪种方式,问题都不是 Stack Overflow 上的 on topic。