redhat 6.2下架设tuxedo应用服务器
2013-05-07 10:54
375 查看
在oschina里看到一个处理连续数的代码,觉得很赞,这种编码风格是我需要学习的,充分体现了py的精髓,呵呵
果断拉过来。
线上有个需求,格式化,从一堆s1,s100-s199中找出连续的服并且格式化显示出来,
如:
神魔:S106-109,s123,s125
御剑: s106-109,s123,s125
源文件:
神魔 S125
神魔 S123
神魔 S109
神魔 S108
神魔 S10
神魔 S12
神魔 S13
神魔 S14
神魔 S107
神魔 S106
御剑 S125
御剑 S123
御剑 S109
御剑 S108
御剑 S107
御剑 S106
得出结果:
神魔 S10,S12-14,S106-109,S123,S125,
御剑 S106-109,S123,S125,
实现过程如下:
果断拉过来。
线上有个需求,格式化,从一堆s1,s100-s199中找出连续的服并且格式化显示出来,
如:
神魔:S106-109,s123,s125
御剑: s106-109,s123,s125
源文件:
神魔 S125
神魔 S123
神魔 S109
神魔 S108
神魔 S10
神魔 S12
神魔 S13
神魔 S14
神魔 S107
神魔 S106
御剑 S125
御剑 S123
御剑 S109
御剑 S108
御剑 S107
御剑 S106
得出结果:
神魔 S10,S12-14,S106-109,S123,S125,
御剑 S106-109,S123,S125,
实现过程如下:
import operator import itertools import sys d={} for line in open('/usr/local/src/2/file','r'): _line=line.split() #setdefault(k[,d]) 如果K在字典中,返回对应的值,不在的话添加k键及对应的值 d.setdefault(_line[0], []).append(_line[1]) for key in d.keys(): #map 对list的每一个元素进行迭代操作 data=sorted(map(lambda x: int(x[1:]),d[key])) sys.stdout.write(key + " ") #for j,k in itertools.groupby(enumerate(data), lambda (i,x): i-x): for j,k in itertools.groupby(enumerate(data), lambda (i,x): i-x): #print j #for subitems in k: #print subitems ret=map(operator.itemgetter(1),k) if len(ret) > 1: sys.stdout.write("S%d-%d," % (ret[0],ret[-1])) #pass elif len(ret) == 1: sys.stdout.write(str("S%s") % ret[0]+ ",") #pass sys.stdout.write('\n') #for j,k in d.items(): # print j,k
相关文章推荐
- RedHat6.2下架设tuxedo12.1
- redhat6.2下架设apache2.2服务器
- RedHat 5.4下Web服务器架构之源码构建LAMP环境及应用phpwind(上)
- RedHat Enterprise 5 LAMP服务器架设步骤
- 应用体验 CentOS 6.2下搭建Web服务器(apache+mysql+php)
- RedHat6.X 搭建简单应用服务器(一)
- Redhat 网页服务器架设
- Ubuntu Linux系统下轻松架设nginx+php服务器应用
- RedHat Enterprise Linux 6.1(RHEL)搭建ArcGIS 10.1 for Server集群(二)NFS服务器架设
- RedHat Enterprise 5 LAMP服务器架设步骤
- 实用window2008之六:DHCP服务器的架设应用实例
- FreeBSD 6.0架设管理与应用-第十三章 网页服务器
- 在Linux(RedHat E3)上架设FTP服务器
- RedHat 5.4下Web服务器架构之源码构建LAMP环境及应用phpwind(下)
- Ubuntu Linux系统下轻松架设nginx+php服务器应用
- FreeBSD 6.0架设管理与应用-第十四章 网页服务器进阶应用
- FreeBSD 6.0架设管理与应用-第十五章 FTP 服务器
- Redhat安装、使用及服务器应用FAQ
- 阿里云ubuntu 16.04下 django1.10.5+uwsgi2.0.15+nginx1.12.0 web应用便捷架设到服务器
- Redhat安装、使用及服务器应用FAQ