gpt4 book ai didi

python - Python 中两个字符串之间的汉明距离

转载 作者:行者123 更新时间:2023-12-05 08:14:21 35 4
gpt4 key购买 nike

我是 Python 的新手,我需要找到两个字符串之间的汉明距离:

chaine1 = 6fb17381822a6ca9b02153d031d5d3da

chaine2 = a242eace2c57f7a16e8e872ed2f2287d

异或函数没有用,我在网上搜索也不是很成功。

我试图修改我在网上找到的东西,但是有一些无效的语法......:

assert len (chaine1) == len(chaine2)

return sum(chaine1 != chaine2 for chaine1, chaine2 in zip(chaine1, chaine2))


if __name__=="__main__":
chaine1 = hashlib.md5("chaine1".encode()).hexdigest()

chaine2 = hashlib.md5("chaine2".encode()).hexdigest()
print hamming_distance(chaine1, chaine2)

关于我如何继续的任何想法?谢谢!

最佳答案

以下是使用两种不同方式计算汉明距离的程序。

import hashlib

def hamming_distance(chaine1, chaine2):
return sum(c1 != c2 for c1, c2 in zip(chaine1, chaine2))

def hamming_distance2(chaine1, chaine2):
return len(list(filter(lambda x : ord(x[0])^ord(x[1]), zip(chaine1, chaine2))))

if __name__=="__main__":
chaine1 = hashlib.md5("chaine1".encode()).hexdigest()
chaine2 = hashlib.md5("chaine2".encode()).hexdigest()

#chaine1 = "6fb17381822a6ca9b02153d031d5d3da"
#chaine2 = "a242eace2c57f7a16e8e872ed2f2287d"

assert len(chaine1) == len(chaine2)

print(hamming_distance(chaine1, chaine2))

print(hamming_distance2(chaine1, chaine2))

您得到 Invalid syntax: ... 的原因可能是您没有任何缩进,而这在 Python 中是必需的。

关于python - Python 中两个字符串之间的汉明距离,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54172831/

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