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的Flask框架中实现简单的登录功能的教程
Apr 20 Python
Python的字典和列表的使用中一些需要注意的地方
Apr 24 Python
详解python脚本自动生成需要文件实例代码
Feb 04 Python
Python获取指定文件夹下的文件名的方法
Feb 06 Python
详解tensorflow实现迁移学习实例
Feb 10 Python
对python3中的RE(正则表达式)-详细总结
Jul 23 Python
Python中生成一个指定长度的随机字符串实现示例
Nov 06 Python
Python安装tar.gz格式文件方法详解
Jan 19 Python
Python @property原理解析和用法实例
Feb 11 Python
pandas和spark dataframe互相转换实例详解
Feb 18 Python
Django中使用Json返回数据的实现方法
Jun 03 Python
python requests库的使用
Jan 06 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 数组教程 定义数组
2009/10/23 PHP
PHP屏蔽过滤指定关键字的方法
2014/11/03 PHP
你真的了解JavaScript吗?
2007/02/24 Javascript
[全兼容哦]--实用、简洁、炫酷的页面转入效果loing
2007/05/07 Javascript
jQuery基于图层模仿五星星评价功能的方法
2015/05/07 Javascript
JavaScript中判断两个字符串是否相等的方法
2015/07/07 Javascript
AngularJS使用ng-repeat指令实现下拉框
2016/08/23 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
js实现随机点名小功能
2017/08/17 Javascript
AngularJS实现自定义指令及指令配置项的方法
2017/11/20 Javascript
使用 Vue cli 3.0 构建自定义组件库的方法
2019/04/30 Javascript
如何进行微信公众号开发的本地调试的方法
2019/06/16 Javascript
NodeJS实现一个聊天室功能
2019/11/25 NodeJs
[40:12]Liquid vs Chaos 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/16 DOTA
[01:14:30]TNC vs VG 2019国际邀请赛淘汰赛 胜者组赛BO3 第二场 8.20.mp4
2019/08/22 DOTA
python定时执行指定函数的方法
2015/05/27 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
使用tensorflow实现线性回归
2018/09/08 Python
django 信号调度机制详解
2019/07/19 Python
Django REST framework 如何实现内置访问频率控制
2019/07/23 Python
Python3.0 实现决策树算法的流程
2019/08/08 Python
详解pandas中iloc, loc和ix的区别和联系
2020/03/09 Python
Java Spring项目国际化(i18n)详细方法与实例
2020/03/20 Python
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
Myprotein台湾官方网站:全球领先的运动营养品牌
2018/12/10 全球购物
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
开办饭店创业计划书
2013/12/28 职场文书
医院门卫岗位职责
2013/12/30 职场文书
高三体育教学反思
2014/01/29 职场文书
优秀经理获奖感言
2014/03/04 职场文书
卖房协议书
2014/04/11 职场文书
励志演讲稿3分钟
2014/08/21 职场文书
缓刑期间思想汇报范文
2014/10/10 职场文书
个人工作违纪检讨书
2015/05/05 职场文书
PostgreSQL存储过程实用脚本(二):创建函数入门
2021/04/05 PostgreSQL