I have a list of integers which I need to parse into a string of ranges.
For example:
[0, 1, 2, 3] -> \"0-3\" [0, 1, 2, 4, 8] -> \"0-2,4,8\"
how about this mess...
def rangefy(mylist): mylist, mystr, start = mylist + [None], "", 0 for i, v in enumerate(mylist[:-1]): if mylist[i+1] != v + 1: mystr += ["%d,"%v,"%d-%d,"%(start,v)][start!=v] start = mylist[i+1] return mystr[:-1]