![]() |
1
1
一些快速提示: 1) 让我知道用quick\u ratio()或real\u quick\u ratio()代替ratio()需要多长时间 2) 反转循环的顺序并使用set\ seq2和set\ seq1,以便SequenceMatcher重用信息
但更好的解决方案是类似于@J\H所描述的 |
![]() |
2
1
您需要识别与字典单词类似的输入,例如“St0ckholm”->“Stockholm”。应处理换位错字。好 啊。
也许你更愿意
考虑字谜问题,你会被问到一个输入词和一个字典里的词是否是彼此的字谜。简单的解决方案是比较排序后的字符串是否相等。让我们看看是否可以将这个想法改编成适合您的问题的数据结构。 将字典中的单词预处理成易于查找的规范键,并在每个键上挂起一个或多个单词的列表。使用排序形成键。例如,我们可以:
按键存储此地图。 给定一个输入单词,您需要知道该单词是否准确地出现在字典中,或者字典中是否出现了编辑距离有限的版本。对输入字进行排序,并在映射图中查找大于或等于该值的第一个条目。检索(非常短的)候选词列表,并计算它们与输入词之间的距离。输出最佳匹配。这种情况发生得很快。
对于模糊匹配,请同时使用第一个和第二个条目
如果您愿意pip安装软件包,请考虑
|