算法练习(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)

转载于:https://www.cnblogs.com/caozijian-zm/p/10316678.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值