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 相关文章推荐
web.py在模板中输出美元符号的方法
Aug 26 Python
Python利用Beautiful Soup模块创建对象详解
Mar 27 Python
python中关于for循环的碎碎念
Jun 30 Python
Python绑定方法与非绑定方法详解
Aug 18 Python
解决python3 安装完Pycurl在import pycurl时报错的问题
Oct 15 Python
Python List cmp()知识点总结
Feb 18 Python
python 批量修改 labelImg 生成的xml文件的方法
Sep 09 Python
python实现代码统计器
Sep 19 Python
Python自动化完成tb喵币任务的操作方法
Oct 30 Python
Python实现从N个数中找到最大的K个数
Apr 02 Python
Python xmltodict模块安装及代码实例
Oct 05 Python
Python测试框架pytest高阶用法全面详解
Jun 01 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 getimagesize 上传图片的长度和宽度检测代码
2010/05/15 PHP
PHP 利用Mail_MimeDecode类提取邮件信息示例
2014/01/26 PHP
全面解析PHP操作Memcache基本函数
2016/07/14 PHP
PHP实现微信红包金额拆分试玩的算法示例
2018/04/07 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
jquery聚焦文本框与扩展文本框聚焦方法
2012/10/12 Javascript
如何将一个String和多个String值进行比较思路分析
2013/04/22 Javascript
兼容IE、firefox以及chrome的js获取时间(getFullYear)
2014/07/04 Javascript
jQuery提示插件alertify使用指南
2015/04/21 Javascript
jQuery实现带分组数据的Table表头排序实例分析
2015/11/24 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
JS焦点图,JS 多个页面放多个焦点图的实例
2016/12/08 Javascript
详解微信小程序开发之城市选择器 城市切换
2017/01/17 Javascript
使用vue构建一个上传图片表单
2017/07/04 Javascript
js原生方法被覆盖,从新赋值原生的方法
2018/01/02 Javascript
vue导出html、word和pdf的实现代码
2018/07/31 Javascript
学习jQuery中的noConflict()用法
2018/09/28 jQuery
实现Vue的markdown文档可以在线运行的方法示例
2018/12/11 Javascript
简单的React SSR服务器渲染实现
2018/12/11 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
Antd下拉选择,自动匹配功能的实现
2020/10/24 Javascript
Django model序列化为json的方法示例
2018/10/16 Python
python re库的正则表达式入门学习教程
2019/03/08 Python
pytorch nn.Conv2d()中的padding以及输出大小方式
2020/01/10 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
python 基于wx实现音乐播放
2020/11/24 Python
Python 用__new__方法实现单例的操作
2020/12/11 Python
python中openpyxl和xlsxwriter对Excel的操作方法
2021/03/01 Python
伦敦最有品味的百货:Liberty London
2016/11/12 全球购物
感恩寄语大全
2014/04/11 职场文书
应届大学生求职信
2014/07/20 职场文书
党员教师群众路线对照检查材料思想汇报
2014/09/29 职场文书
北京故宫导游词
2015/01/31 职场文书
昆虫记读书笔记
2015/06/26 职场文书
vue项目中的支付功能实现(微信支付和支付宝支付)
2022/02/18 Vue.js