算法练习(6)字符串中所有连续的字符串

list_new=[]
list_all=[]
testlist=[2,1,1,1,1,2,2,2,2,3,3,4,5,4,1,1]
def findMaxStr(testlist):
if len(testlist)>1: #列表长度大于1的话判断前两位是否相同, 相同的话保存第一位
if testlist[0]==testlist[1]:
list_new.append(testlist[0])
else: #不同的话判断中间列表是否大于0,大于0说明之前比较过,且是相等的,遍把新列表的第一位也放进临时表
if len(list_new)>0:
list_new.append(testlist[0])
list_all.append(list_new.copy()) #不能直接吧list append到其他list中,如果list重新赋值,之前append的也会改变,必须用copy
print(list_new)
print(list_all)
list_new.clear() #清空临时表,为下次你比较、存值做准备

testlist.pop(0) #判断后去掉首位,重新执行函数
findMaxStr(testlist)

elif len(testlist)==1: #对列表长度为1的时候特殊处理,判断列表中的元素 和复制的最后一个是否相同
if list_new[-1]==testlist[0]:
list_new.append(testlist[0])
list_all.append(list_new.copy())

findMaxStr(testlist)
print(list_all)

posted on 2019-01-24 20:35  吼吼哈嘿~  阅读(158)  评论(0编辑  收藏  举报

导航