我需要比较几乎相同的两个字符串。然后使用python找到它们不同的点。有什么帮助吗?
例如两个字符串a和b
A = 'oooooSooooooooooooooooooRoMooooooAooooooooooooooo'
B = 'oooooSooooooooooooooooooooMooooooAooooooooooooooo'
由于
答案 0 :(得分:7)
我建议使用每个标准python安装附带的difflib
。在那里你会找到handy function ndiff。
>>> import difflib
>>> print "\n".join(difflib.ndiff([A], [B])),
- oooooSooooooooooooooooooRoMooooooAooooooooooooooo
? ^
+ oooooSooooooooooooooooooooMooooooAooooooooooooooo
? ^
>>>
答案 1 :(得分:2)
对于相同大小的字符串或只有最短的长度很重要:
def diffindex(string1, string2):
for i, (char1, char2) in enumerate(zip(string1, string2)):
if char1 != char2:
return i
return -1
对于不同大小的字符串:
from itertools import zip_longest
现在用这个替换相应的行:
for i, (char1, char2) in enumerate(zip_longest(string1, string2)):
答案 2 :(得分:1)
一些提示。
字符串有长度:
print(len(A))
您可以按索引访问单个字母:
print(A[0])
有一个范围函数可以让你生成整数序列:
for i in range(10):
print(i)
您可以检查两个字符是否相等:
'a' == 'a'
'a' == 'b'
答案 3 :(得分:0)
1.将字符串分成字母A []和B []
2.将每个字母与循环内的相同数组索引进行比较。
3.使用循环内的计数重复循环0-(字符串的长度)。
4.使比较条件的计数变为假(当A [] == B []变为假时