如shuzu=[1,2,4,5,6]输出1,2和4,5,6
shuzu = [1,2,4,5,6,5,12,11,12,13]
cnt = 0 # 记录升序元素个数
for i in range(len(shuzu) - 1):
if shuzu[i] + 1 == shuzu[i+1]:
cnt += 1
print(shuzu[i],end=",")
else:
if cnt >= 1:
print(shuzu[i])
cnt = 0
if i == len(shuzu)-2: #末尾元素处理
print(shuzu[len(shuzu)-1])
你这个升序的序列的话1 2 4 5 6 也是升序为什么输出1,2和4,5,6
你是想输出连续的序列吧:
a=[1,2,4,5,6]
s = [] # 空栈
for i in sorted(set(a)):
if len(s) == 0 or s[-1] + 1 == i:
s.append(i) # 入栈
else:
if len(s) >= 2:
print(s)
s = [] # 清空
s.append(i) # 入栈
# 最后一轮,需判断下
if len(s) >= 2:
print(s)
a=[1,2,4,5,6]
s = [] # 空栈
for i in range(len(a)):
if i==0:
i+=1
s.append(a[i-1])
else:
if a[i]>=a[i-1]:
s.append(a[i])
print(s)