汉明距离python
时间: 2023-08-18 15:15:04 浏览: 161
汉明距离(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。
相关问题
汉明距离Python
汉明距离是指两个等长字符串在相同位置上字符不同的数量。通常用于比较两个字符串之间的相似性。在Python中,可以通过以下代码计算两个字符串的汉明距离:
```python
def hamming_distance(str1, str2):
assert len(str1) == len(str2)
return sum(ch1 != ch2 for ch1, ch2 in zip(str1, str2))
```
其中,`zip`函数可以将两个字符串中相同位置的字符打包成元组,然后使用列表推导式计算不同字符的数量。需要注意的是,传入的两个字符串必须具有相同的长度。
汉明距离 python
汉明距离是指两个数字对应二进制位不同的位置的数目。在Python中,可以使用异或运算符(^)来计算两个数的异或结果,然后再使用count方法统计结果中1的个数,即为汉明距离。
以下是一个示例代码:
```python
class Solution:
def hammingDistance(self, x: int, y: int) -> int:
return bin(x^y).count("1")
```
阅读全文