python中字符串的最大公约数

v92*_*23z 1 python string algorithm longest-substring

我想有一个给出列表的python函数

mystrings = ['abcde', 'abcdf', 'abcef', 'abcnn']
Run Code Online (Sandbox Code Playgroud)

返回字符串'abc',即列表中所有元素包含的最长片段.我有一个解决方案,它只是循环切片mystring[0],并将其与其余部分进行比较,并在找到第一个不匹配的子字符串时突破循环.但是,我怀疑必须有更高效,优雅和pythonic的方式来做到这一点.

有人可以指出如何正确地做到这一点?

JBe*_*rdo 5

你描述的方式,你想要起点上最大的子串:

>>> os.path.commonprefix(['abcde', 'abcdf', 'abcef', 'abcnn'])
'abc'
Run Code Online (Sandbox Code Playgroud)