機械です。
アルゴリズムは苦手なので、ひねり無しです。
まぁ、文字列でもリストでもタプルでも食いま
すが・・・
def odai(lst):
if type("") == type(lst):
import string
lst = string.split(lst,",")
tlst = []
for x in lst:
tlst.append(int(x))
lst=tlst
if len(lst)<2:
return lst
l = [[lst[0]]]
ln = 0
lnn = 0 #l[ln][lnn]
for x in range(1,len(lst)):
if lst[x]-1 == l[ln][lnn]:
l[ln].append(lst[x])
lnn=lnn+1
else:
lnn=0
ln = ln+1
l.append([lst[x]])
r = ""
for c in range(len(l)):
if len(l[c])==1:
r = r + str(l[c][0])
else:
r = r + str(l[c][0]) + "-" + str(l[c][-1])
r = r + ","
return r[:-1]
・・・コードがスマートでないのは、Pythonのせいではなく、
私の能力の限界です。