def worddistance(source, target):
''' Return the Levenshtein distance between 2 strings '''
if len(source) > len(target):
source, target = target, source
#Now target becomes the larger string, if it is 0, surely len(source) is 0?
if len(target) == 0:
return len(source)
### Continue on to calculate distance.
如果两个参数都相同,那么返回0不是一样的吗?在
我不太清楚这部分功能要达到什么目的
是的,如果两者的长度都为0,则代码返回
0
。您可以在Wikibooks implementation中看到几乎相同的样式;但是这里的编码人员根本没有仔细考虑代码。在您只需将第二个测试更改为:
不改变意思。在
Wikibooks实现测试了源,但是:
^{pr2}$这就更有道理了。在
函数在那行之后会做更多的工作;它只是一个边界检查。检查结束后,该算法的工作效率仍然会下降;Wikibooks版本将生成一系列从
[1]
到[len(target)]
的一系列1元素列表,然后返回最后一个元素;所以len(target)
。在相关问题 更多 >
编程相关推荐