gpt4 book ai didi

python - 两个二进制字符串之间的汉明距离不起作用

转载 作者:太空狗 更新时间:2023-10-29 22:00:20 25 4
gpt4 key购买 nike

我发现了一个有趣的算法来计算 this 上的汉明距离网站:

def hamming2(x,y):
"""Calculate the Hamming distance between two bit strings"""
assert len(x) == len(y)
count,z = 0,x^y
while z:
count += 1
z &= z-1 # magic!
return count

关键是这个算法只适用于位串,我正在尝试比较两个二进制字符串,但它们是字符串格式,比如

'100010'
'101000'

我怎样才能让他们使用这个算法?

最佳答案

实现它:

def hamming2(s1, s2):
"""Calculate the Hamming distance between two bit strings"""
assert len(s1) == len(s2)
return sum(c1 != c2 for c1, c2 in zip(s1, s2))

并测试它:

assert hamming2("1010", "1111") == 2
assert hamming2("1111", "0000") == 4
assert hamming2("1111", "1111") == 0

关于python - 两个二进制字符串之间的汉明距离不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31007054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com