python list使用示例 list中找连续的数字


Posted in Python onJanuary 27, 2014

线上有个需求,格式化,从一堆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)
Python 相关文章推荐
Python多进程编程技术实例分析
Sep 16 Python
Python实现一个转存纯真IP数据库的脚本分享
May 21 Python
python+splinter自动刷新抢票功能
Sep 25 Python
python使用epoll实现服务端的方法
Oct 16 Python
Python使用paramiko操作linux的方法讲解
Feb 25 Python
python中import与from方法总结(推荐)
Mar 21 Python
Python3.4解释器用法简单示例
Mar 22 Python
Python魔法方法功能与用法简介
Apr 04 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
Apr 08 Python
关于jupyter打开之后不能直接跳转到浏览器的解决方式
Apr 13 Python
python中pyplot基础图标函数整理
Nov 10 Python
Python plt 利用subplot 实现在一张画布同时画多张图
Feb 26 Python
Python批量修改文件后缀的方法
Jan 26 #Python
使用cx_freeze把python打包exe示例
Jan 24 #Python
Python的函数嵌套的使用方法
Jan 24 #Python
下载安装setuptool和pip linux安装pip    
Jan 24 #Python
python解析文件示例
Jan 23 #Python
python回调函数的使用方法
Jan 23 #Python
python中的对象拷贝示例 python引用传递
Jan 23 #Python
You might like
php遍历数组的方法分享
2012/03/22 PHP
php实现单链表的实例代码
2013/03/22 PHP
关于PHP中字符串与多进制转换函数的实例代码
2016/11/03 PHP
收集的一些Array及String原型对象的扩展实现代码
2010/12/05 Javascript
javascript小组件 原生table排序表格脚本(兼容ie firefox opera chrome)
2012/07/25 Javascript
不同的jQuery API来处理不同的浏览器事件
2012/12/09 Javascript
jquery中子元素和后代元素的区别示例介绍
2014/04/02 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
js实现select下拉框菜单
2015/12/08 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
详解JavaScript的内置对象
2016/12/07 Javascript
vue2.0构建单页应用最佳实战
2017/04/01 Javascript
详解React 16 中的异常处理
2017/07/28 Javascript
vue实现word,pdf文件的导出功能
2018/07/31 Javascript
vue.js购物车添加商品组件的方法
2019/09/17 Javascript
一篇文章让你搞懂JavaScript 原型和原型链
2020/11/23 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
[02:56]DOTA2上海特锦赛小组赛解说FreeAgain采访花絮
2016/02/27 DOTA
[05:11]TI9战队采访——VIRTUSPRO
2019/08/22 DOTA
树莓派中python获取GY-85九轴模块信息示例
2013/12/05 Python
python用pickle模块实现“增删改查”的简易功能
2017/06/07 Python
Python如何生成树形图案
2018/01/03 Python
Python+tkinter模拟“记住我”自动登录实例代码
2018/01/16 Python
python 中 .py文件 转 .pyd文件的操作
2021/03/04 Python
平面设计师的工作职责
2013/11/21 职场文书
幼儿园中秋节活动反思
2014/02/16 职场文书
读书活动总结范文
2014/04/26 职场文书
2014年母亲节寄语
2014/05/07 职场文书
竞选宣传委员演讲稿
2014/05/24 职场文书
乡镇综治宣传月活动总结
2014/07/02 职场文书
项目合作意向书模板
2014/07/29 职场文书
奉献家乡演讲稿
2014/09/13 职场文书
2015年世界无烟日演讲稿
2015/03/18 职场文书
导游词之西江千户苗寨
2019/12/24 职场文书
SpringBoot 拦截器妙用你真的了解吗
2021/07/01 Java/Android