python 汉明距离
时间: 2023-10-20 08:36:51 浏览: 54
汉明距离是指两个等长字符串之间对应位置上不同字符的个数。在Python中,可以通过以下代码来计算两个字符串的汉明距离:
```python
def hamming_distance(str1, str2):
if len(str1) != len(str2):
raise ValueError("字符串长度不一致")
distance = 0
for i in range(len(str1)):
if str1[i] != str2[i]:
distance += 1
return distance
str1 = "101010"
str2 = "111000"
distance = hamming_distance(str1, str2)
print("汉明距离:", distance)
```
在上面的例子中,计算了两个字符串 `"101010"` 和 `"111000"` 的汉明距离,结果为 3。
相关问题
python汉明距离代码
汉明距离是指两个等长字符串之间对应位置的不同字符的个数,是一种衡量字符串相似度的方法。在Python中,可以使用以下代码实现汉明距离的计算:
```
def hamming_distance(s1, s2):
"""
计算两个字符串的汉明距离
:param s1: 第一个字符串
:param s2: 第二个字符串
:return: 汉明距离
"""
if len(s1) != len(s2):
raise ValueError("两个字符串长度不相同!")
return sum(ch1 != ch2 for ch1, ch2 in zip(s1, s2))
```
这个函数接受两个字符串作为参数,然后使用zip函数将它们打包成元组的列表,然后使用一个生成器表达式计算不同字符的数量,最后返回汉明距离。如果两个字符串的长度不相同,则会引发一个ValueError异常。
汉明距离python
汉明距离(Hamming distance)是用来衡量两个等长字符串之间的差异度量。在Python中,可以通过以下代码来计算两个字符串的汉明距离:
```python
def hamming_distance(str1, str2):
if len(str1) != len(str2):
raise ValueError("两个字符串长度不同")
distance = 0
for i in range(len(str1)):
if str1[i] != str2[i]:
distance += 1
return distance
# 示例用法
string1 = "101010"
string2 = "111000"
distance = hamming_distance(string1, string2)
print("汉明距离:", distance)
```
在上述代码中,`hamming_distance` 函数接受两个字符串作为参数,并通过逐个比较对应位置的字符来计算汉明距离。如果两个字符串长度不同,会抛出一个异常。最后,使用示例字符串 "101010" 和 "111000" 计算出的汉明距离为 3。