python 汉明距离
时间: 2023-10-20 18:36:51 浏览: 100
汉明距离是指两个等长字符串之间对应位置上不同字符的个数。在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汉明距离是指两个等长字符串在对应位置上不同字符的个数。例如,字符串“1011101”和“1001001”的汉明距离是2,因为它们在第2和第5个字符上不同。
在Python中,可以通过以下代码计算两个字符串的汉明距离:
```python
def hamming_distance(s1, s2):
if len(s1) != len(s2):
raise ValueError("两个字符串长度不一致")
return sum(ch1 != ch2 for ch1, ch2 in zip(s1, s2))
```
这个函数接受两个字符串作为参数,并返回它们的汉明距离。在函数内部,首先判断两个字符串的长度是否一致,如果不一致,则抛出一个ValueError异常。接着使用zip函数将两个字符串对应位置上的字符打包成元组,然后使用一个生成器表达式计算这些元组中不同字符的个数,最终返回这个个数即可。
python汉明距离
Python中的汉明距离是指两个等长字符串之间对应位置上不同字符的个数,也就是将一个字符串变换成另外一个字符串所需要替换的字符个数。具体实现可以通过遍历两个字符串,对比它们在相同位置上的字符是否相同,如果不相同则汉明距离加1。以下是一个简单的Python函数实现:
```
def hamming_distance(s1, s2):
if len(s1) != len(s2):
raise ValueError("两个字符串长度不相等")
return sum(ch1 != ch2 for ch1, ch2 in zip(s1, s2))
```
在函数中,我们首先检查两个字符串的长度是否相等,如果不相等则抛出异常。然后使用zip()函数将两个字符串打包成一个元组序列,遍历这个序列并计算其中不同字符的个数。
阅读全文