前端之家收集整理的这篇文章主要介绍了
Python 寻找最大连续子串和寻找最长数字串的简单示例,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
感兴趣Python 寻找最大连续子串和寻找最长数字串的简单示例的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧。<br>
# 编程之家 (jb51.cc)
'''寻找最大连续子串和'''
def find_max_sub_sum(data):
if not data:
return None
sub = data[0]
submax = data[0]
for i in range(1,len(data)):
sub = max(sub+data[i],data[i])
submax = max(submax,sub)
return submax
'''寻找最长的数字串'''
def find_longest_num(s):
if not s:
return ''
i = 0
maxNumLen = 0
while i < len(s):
if s[i].isdigit():
startNum = i
numLen = 0
while i < len(s) and s[i].isdigit():
numLen += 1
i += 1
'''比较长度是否超过前面保存的最大长度,这里如果有相同长度的子串,则取后面的,如果要取前面的,则maxNumLen < numLen即可'''
if numLen and maxNumLen <= numLen:
maxNumLen = numLen
sub = '' #每次sub需要清空
for j in range(startNum,startNum+numLen):
sub += s[j]
i += 1
return sub,maxNumLen
if __name__ == '__main__':
str = 'abcd12345ed123ss123456789'
b = [-2,-1,3,-6,20,7,-34]
print(find_longest_num(str)) #('123456789',9)
print(find_max_sub_sum(b)) #27
# End 512.笔记 jb51.cc