是否有函数可以比较两个字符串(相同长度)相差多少个字符?我的意思是只有替代品。例如,AAA 将与 AAT 相差 1 个字符。
请您参考如下方法:
这会起作用:
>>> str1 = "AAA"
>>> str2 = "AAT"
>>> sum(1 for x,y in enumerate(str1) if str2[x] != y)
1
>>> str1 = "AAABBBCCC"
>>> str2 = "ABCABCABC"
>>> sum(1 for x,y in enumerate(str1) if str2[x] != y)
6
>>>
上述解决方案使用sum , enumerate , 和一个 generator expression .
因为 True 可以评估为 1,您甚至可以这样做:
>>> str1 = "AAA"
>>> str2 = "AAT"
>>> sum(str2[x] != y for x,y in enumerate(str1))
1
>>>
但我个人更喜欢第一种方案,因为它更清晰。
