A ideia deste código é receber uma lista numérica, que deve está em ordem crescente, e devolver uma string com uma formatação diferente. Exemplo: solution([-6,-3,-2,-1,0,1,3,4,5,7,8,9,10,11,14,15,17,18,19,20]) retorna: -6,-3-1,3-5,7-11,14,15,17-20 como se fosse um range.
def solution(args):
out = []
beg = end = args[0]
for n in args[1:] + [""]:
if n != end + 1:
if end == beg:
out.append(str(beg))
elif end == beg + 1:
out.extend([str(beg), str(end)])
else:
out.append(str(beg) + "-" + str(end))
beg = n
end = n
print(out)
return ",".join(out)