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中使用HTMLParser解析HTML的教程
Apr 29 Python
利用Python脚本生成sitemap.xml的实现方法
Jan 31 Python
python reduce 函数使用详解
Dec 05 Python
python topN 取最大的N个数或最小的N个数方法
Jun 04 Python
Python中的CSV文件使用"with"语句的方式详解
Oct 16 Python
django获取from表单multiple-select的value和id的方法
Jul 19 Python
Python中的 sort 和 sorted的用法与区别
Aug 10 Python
python或C++读取指定文件夹下的所有图片
Aug 31 Python
django 多对多表的创建和插入代码实现
Sep 09 Python
python语言线程标准库threading.local解读总结
Nov 10 Python
Python中常见的数制转换有哪些
May 27 Python
python右对齐的实例方法
Jul 05 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 htmlspecialchars()与shtmlspecialchars()函数的深入分析
2013/06/05 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
解析JavaScript中instanceof对于不同的构造器或许都返回true
2013/12/03 Javascript
利用javaScript实现点击输入框弹出窗体选择信息
2013/12/11 Javascript
什么是Node.js?Node.js详细介绍
2014/06/01 Javascript
jquery淡入淡出效果简单实例
2016/01/14 Javascript
JavaScript实现刷新不重记的倒计时
2016/08/10 Javascript
JavaScript实现垂直向上无缝滚动特效代码
2016/11/23 Javascript
微信小程序 合法域名校验出错详解及解决办法
2017/03/09 Javascript
jsonp跨域请求实现示例
2017/03/13 Javascript
利用Vue.js实现求职在线之职位查询功能
2017/07/03 Javascript
详解NODEJS基于FFMPEG视频推流测试
2017/11/17 NodeJs
vue实现导航栏效果(选中状态刷新不消失)
2017/12/13 Javascript
了解javascript中的Dom操作
2019/05/27 Javascript
基于JS实现一个随机生成验证码功能
2019/05/29 Javascript
Vue v-bind动态绑定class实例方法
2020/01/15 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
2020/03/06 Javascript
Python内置函数bin() oct()等实现进制转换
2012/12/30 Python
python使用xlrd实现检索excel中某列含有指定字符串记录的方法
2015/05/09 Python
Python贪吃蛇游戏编写代码
2020/10/26 Python
Python使用numpy模块实现矩阵和列表的连接操作方法
2019/06/26 Python
如何写python的配置文件
2020/06/07 Python
Woolworth官网:澳洲第一大超市
2017/06/25 全球购物
法人授权委托书格式
2014/04/08 职场文书
2014年幼儿园重阳节活动方案
2014/09/16 职场文书
学校政风行风评议工作总结
2014/10/21 职场文书
2014年路政工作总结
2014/12/10 职场文书
党员转正党支部意见
2015/06/02 职场文书
毕业晚宴祝酒词
2015/08/11 职场文书
学会感恩主题班会
2015/08/12 职场文书
详解如何修改nginx的默认端口
2021/03/31 Servers
python flask框架快速入门
2021/05/14 Python
Python源码解析之List
2021/05/21 Python
你需要掌握的20个Python常用技巧
2022/02/28 Python
Python学习之异常中的finally使用详解
2022/03/16 Python
Apache SkyWalking 监控 MySQL Server 实战解析
2022/09/23 Servers