如何在python中查找两个字符串之间最长的公共结尾

如何在python中查找两个字符串之间最长的公共结尾,python,string,python-3.x,Python,String,Python 3.x,我试图找到允许在两个字符串之间找到共同结尾的代码,例如: s1 = 'running' s2 = 'ruminating' 输出结果将导致: 'ing' 它必须专门用于字符串的结尾,但我不确定如何执行此操作您可以编写一个函数并迭代: s1 = 'running' s2 = 'ruminating' def get_common(s1, s2): L = [] for i, j in zip(s1[::-1], s2[::-1]): if i != j:

我试图找到允许在两个字符串之间找到共同结尾的代码,例如:

s1 = 'running'

s2 = 'ruminating' 
输出结果将导致:

'ing'


它必须专门用于字符串的结尾,但我不确定如何执行此操作

您可以编写一个函数并迭代:

s1 = 'running'
s2 = 'ruminating'

def get_common(s1, s2):
    L = []
    for i, j in zip(s1[::-1], s2[::-1]):
        if i != j:
            break
        L.append(i)
    return ''.join(L[::-1])

common = get_common(s1, s2)  # ing
stdlib已经具有:

它很容易适应您的需要:

>>> commonprefix([s[::-1] for s in strings])[::-1]
'ing'
>>> commonprefix([s[::-1] for s in strings])[::-1]
'ing'