线上有个需求,格式化,从一堆s1,s100-s199中找出连续的服并且格式化显示出来,如:

神魔:S106-109,s123,s125
御剑: s106-109,s123,s125

复制代码 代码如下:
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#  2014/01/15 14:15
import sys
from itertools import *
from operator import itemgetter
def parse(filename):
    d = {}
    for line in open(filename, 'r'):
        _line = line.split()
        d.setdefault(_line[0], []).append(_line[1])
    for key in d.keys():
        data = sorted(map(lambda x: int(x[1:]), d[key]))
        sys.stdout.write(key + " ")
        for k, g in groupby(enumerate(data), lambda (i, x): i - x):
            ret = map(itemgetter(1), g)
            if len(ret) > 1:
                sys.stdout.write("S%d-%d," % (ret[0], ret[-1]))
            elif len(ret) == 1:
                sys.stdout.write(str("S%s") % ret[0] + ",")
        sys.stdout.write('\n')
if __name__ == "__main__":
    filename = sys.argv[1]
    parse(filename)

标签:
list,数字

免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
内蒙古资源网 Copyright www.nmgbbs.com

评论“python list使用示例 list中找连续的数字”

暂无“python list使用示例 list中找连续的数字”评论...

P70系列延期,华为新旗舰将在下月发布

3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。

而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?

根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。