python 合并行

2020-01-13 15:31:34 浏览数 (1)

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
cat

0 人点赞