连续数字和间断数字实现
作者:互联网
问题
输入一组从小到大的数字,获取其连续数字并取头尾用 “~” 连接,若与左右不是连续关系,则单独输出。最终结果返回字符串,输入为数组。
示例
输入:[1,2,3,4,5,6,9,11]
输出:1~6,9,11
def simplifyStr(num):
a = []
ans = [] # 先将结果存储到数组,再转为字符串输出
for i in range(len(num)):
if i < len(num) - 1 and num[i]+1 == num[i+1]:
a.append(num[i])
a.append(num[i+1])
c = str(a[0]) + '~' + str(a[-1])
else:
if len(a):
ans.append(c)
a = []
else:
b.append(num[i])
str_list = ','.join(str(k) for k in ans) # 数组转字符串,用 , 隔开
return str_list
标签:num,数字,len,间断,连续,str,ans,append 来源: https://www.cnblogs.com/theyoungys/p/15587205.html