gpt4 book ai didi

Python:如何更正拼写错误的名称

转载 作者:行者123 更新时间:2023-12-03 23:52:07 24 4
gpt4 key购买 nike

我有一个包含城市名称的列表,其中一些拼写错误:

['bercelona', 'emstrdam', 'Praga']

以及所有可能的城市名称拼写良好的列表:
['New York', 'Amsterdam', 'Barcelona', 'Berlin', 'Prague']

我正在寻找一种算法,能够在第一个和第二个列表的名称之间找到最接近的匹配,并返回第一个列表及其拼写正确的名称。所以它应该返回以下列表:
['Barcelona', 'Amsterdam', 'Prague']

最佳答案

您可以使用内置的 Ratcliff 和 Obershelp 算法:

def is_similar(first, second, ratio):
return difflib.SequenceMatcher(None, first, second).ratio() > ratio


first = ['bercelona', 'emstrdam', 'Praga']
second = ['New York', 'Amsterdam', 'Barcelona', 'Berlin', 'Prague']

result = [s for f in first for s in second if is_similar(f,s, 0.7)]
print result
['Barcelona', 'Amsterdam', 'Prague']

其中 0.7 是相似系数。它可能会为您的案例做一些测试并设置此值。它显示了两个字符串的相似程度(1 - 它是相同的字符串,0 - 非常不同的字符串)

关于Python:如何更正拼写错误的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41192424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com