首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

python 合并行

cu上的一个问题 http://bbs.chinaunix.net/viewthread.php?tid=1827378&page=1&extra=#pid13223240

cat 1

4056 78 

4056 198 

7717 98 

7717 218 

7718 98 

7718 218 

7719 98 

7719 99 

7719 218 

7719 219 

7720 98 

7720 99 

7720 218 

7720 219 

7720 220

7720 221

代码语言:javascript
复制
#!/usr/bin/env python
import re
file=open("./1","r")
dict={}
for  line in file:
   line=line.strip()
   key=line.split()[0]
   value=line.split()[1]
   dict.setdefault(key,[]).append(value)
for k in dict.keys():
   values=dict[k]
   #print values
   a=[]
   n=len(values)
   for i in range(0,n-1):
         if(int(values[i+1])==int(values[i])+1):
            a.append(values[i])
            a.append("-")
            if i==n-2:
               a.append(values[n-1])
         else:
            a.append(values[i])
            a.append(",")
            if i==n-2:
               a.append(values[n-1])
   value=''.join(a)
   value=re.sub("-[0-9 -]*-","-",value)
   print k,value
7719 98-99,218-219
4056 78,198
7720 98-99,218-221
7717 98,218
7718 98,218
下一篇
举报
领券