Для двух заданных строк есть ли питонный способ подсчитать, сколько последовательных символов в обеих строках (начиная с позиции 0 строк) совпадают?
Например, в aaa_Hello
и aa_World
«ведущие совпадающие символы» - это aa
, имеющие длину 2. В another
и example
отсутствуют ведущие совпадающие символы, которые бы имели длину 0.
Iнаписал функцию для достижения этой цели, которая использует цикл for и, таким образом, кажется мне очень непитонным:
def matchlen(string0, string1): # Note: does not work if a string is ''
for counter in range(min(len(string0), len(string1))):
# run until there is a mismatch between the characters in the strings
if string0[counter] != string1[counter]:
# in this case the function terminates
return(counter)
return(counter+1)
matchlen(string0='aaa_Hello', string1='aa_World') # returns 2
matchlen(string0='another', string1='example') # returns 0