我在这个网站上发现了一个有趣的算法来计算汉明距离:
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'
如何使用这个算法让它们运作起来?
bin(int('100010',2))
会生成二进制。 - Nizam Mohamed