【发布时间】:2018-06-13 20:04:13
【问题描述】:
我无法修改汉明距离算法以通过两种方式影响我的数据
如果将大写字母切换为小写字母,则将 0.5 添加到汉明距离,除非它位于第一个位置。
示例包括:“杀手”和“杀手”的距离为 0 “杀手”和“杀手”的汉明距离为 0.5。 "Funny" 和 FAnny" 的距离为 1.5(1 表示不同的字母,附加 0.5 表示不同的大小写)。使 b 和 d(以及它们的大写对应物)被视为同一事物
这是我发现的构成基本汉明程序的代码
def hamming_distance(s1, s2):
assert len(s1) == len(s2)
return sum(ch1 != ch2 for ch1, ch2 in zip(s1, s2))
if __name__=="__main__":
a = 'mark'
b = 'Make'
print hamming_distance(a, b)
欢迎提出任何建议!
【问题讨论】:
-
第二点是什么意思。能举个例子吗?
-
所以你的意思是“b = d”而不是“b = s”(就像问题中一样)?
-
抱歉。生病编辑。这两个字母是任意的,我只需要知道如何制作,所以我选择的任何两个字母都会被视为相同
-
你可以调用
hamming_distance方法来获取值。我编辑了答案并添加了一种打印结果的方法。
标签: hamming-distance edit-distance