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中的yield浅析
Jun 16 Python
python操作ie登陆土豆网的方法
May 09 Python
Python并发编程协程(Coroutine)之Gevent详解
Dec 27 Python
全面了解Nginx, WSGI, Flask之间的关系
Jan 09 Python
python编程测试电脑开启最大线程数实例代码
Feb 09 Python
python实现教务管理系统
Mar 12 Python
Python 3.x基于Xml数据的Http请求方法
Dec 28 Python
Python 实现交换矩阵的行示例
Jun 26 Python
python多任务之协程的使用详解
Aug 26 Python
Python正则表达式急速入门(小结)
Dec 16 Python
Python如何基于selenium实现自动登录博客园
Dec 16 Python
Python命令行click参数用法解析
Dec 19 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
drupal 代码实现URL重写
2011/05/04 PHP
php通过递归方式复制目录和子目录的方法
2015/03/13 PHP
PHP 枚举类型的管理与设计知识点总结
2020/02/13 PHP
javascript动态改变img的src属性图片不显示的解决方法
2010/10/20 Javascript
JQuery中使用.each()遍历元素学习笔记
2014/11/08 Javascript
在JavaScript中处理字符串之fontcolor()方法的使用
2015/06/08 Javascript
JavaScript动态改变div属性的实现方法
2015/07/22 Javascript
js限制文本框的输入内容代码分享(3类)
2015/08/20 Javascript
轻松学习jQuery插件EasyUI EasyUI表单验证
2015/12/01 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
2016/05/10 Javascript
AngularJs 国际化(I18n/L10n)详解
2016/09/01 Javascript
jQuery事件绑定用法详解
2016/09/08 Javascript
javaScript基础详解
2017/01/19 Javascript
JS实现图片点击后出现模态框效果
2017/05/03 Javascript
input输入框内容实时监测(附代码)
2017/08/15 Javascript
详解wow.js中各种特效对应的类名
2017/09/13 Javascript
多个vue子路由文件自动化合并的方法
2019/09/03 Javascript
如何优雅地在Node应用中进行错误异常处理
2019/11/25 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
VUE中V-IF条件判断改变元素的样式操作
2020/08/09 Javascript
python修改字典键(key)的方法
2019/08/05 Python
Python实现某论坛自动签到功能
2019/08/20 Python
详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法
2019/08/30 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
浅谈python已知元素,获取元素索引(numpy,pandas)
2019/11/26 Python
tensorflow下的图片标准化函数per_image_standardization用法
2020/06/30 Python
HTML5 文件上传下载的实例代码
2017/07/03 HTML / CSS
大学秋游活动方案
2014/02/11 职场文书
投资合作协议书范本
2014/04/17 职场文书
解除租房协议书
2014/12/03 职场文书
员工工作表现自我评价
2015/03/06 职场文书
旗帜观后感
2015/06/08 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
少年的你:世界上没有如果,要在第一次就勇敢的反抗
2019/11/20 职场文书
Nginx配置之实现多台服务器负载均衡
2021/08/02 Servers
使用Cargo工具高效创建Rust项目
2022/08/14 Javascript