python将list连续元素和非连续元素分开转换为指定字符串
已知一个由纯数字(顺序由小按大排序)元素组成的列表,比如li=
写一个函数,让它返回如下的字符串
str='1~5,7~8,15,20~24,28'
若数字连续,中间部分用 ~ 省略。
def continuous_str(lst):
j = 0
str1 = ''
for i, item in enumerate(lst):
if i > 0:
if lst != lst + 1:
tmp = lst
if len(tmp) == 1:
str1 += str(tmp) + ','
else:
str1 += str(tmp) + "~" + str(tmp[-1]) + ','
j = i
tmp2 = lst
if len(tmp2) == 1:
str1 += str(tmp2) + ','
else:
str1 += str(tmp2) + "~" + str(tmp2[-1]) + ','
return str1[:-1]
lst =
print continuous_str(lst)
页:
[1]