问题相关代码
def get_commonstr(a):
if len(a)==0:
return ""
cd,zcd=len(a),len(a[0])
news=""#公共字符串
for i in a[1:]:
if zcd>len(i):
zcd=len(i) #最短字符串长度
news=i #最短字符串
for m in range(zcd):
flag=False #退出外部循环标志
for i in a:#2;取值0,1
if news[m]!=i[m]: #根据字符位置比较是否相等
news=news[:m]
flag=True
break
if flag:
break
return news
# s1=["fliower","fliowe","flight"]
s1=[['fliower',
'wesaawsfliower',
'dowflight',
'abcdefg!fliower.exe',
"{'aw1qwf': 'fliower.exe', 'Bu': 'fliower'}"]]
if __name__=="__main__":
print[("结果:"+get_commonstr(s1))]
运行结果
IndexError: string index out of range
我想要达到的结果
这个是查找字符串数组中开头的最长公共字符串,怎么改成查找字符串数组中最长的公共字符串
比如上边的数组中,最长的公共字符串就是fliower