python 合并行

2023-01-31 02:01:31 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

#!/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




相关文章