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编程-将Python程序转化为可执行程序[整理]
Apr 09 Python
python使用socket向客户端发送数据的方法
Apr 29 Python
windows下安装python的C扩展编译环境(解决Unable to find vcvarsall.bat)
Feb 21 Python
python中logging包的使用总结
Feb 28 Python
python实现自动发送报警监控邮件
Jun 21 Python
windows下pycharm安装、创建文件、配置默认模板
Jul 31 Python
如何通过python实现全排列
Feb 11 Python
Pytorch环境搭建与基本语法
Jun 03 Python
keras 解决加载lstm+crf模型出错的问题
Jun 10 Python
opencv 图像腐蚀和图像膨胀的实现
Jul 07 Python
基于python判断字符串括号是否闭合{}[]()
Sep 21 Python
Python如何使用ElementTree解析xml
Oct 12 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实现微信发红包
2015/12/05 PHP
使用phpstorm和xdebug实现远程调试的方法
2015/12/29 PHP
利用php_imagick实现复古效果的方法
2016/10/18 PHP
PHP实现二维数组去重功能示例
2017/01/12 PHP
JavaScript表单常用验证集合
2008/01/16 Javascript
javascript面向对象之二 命名空间
2011/02/08 Javascript
js的touch事件的实际引用
2014/10/13 Javascript
JS+CSS简单树形菜单实现方法
2015/09/12 Javascript
js密码强度检测
2016/01/07 Javascript
JavaScript检查子字符串是否在字符串中的方法
2016/02/03 Javascript
webpack中引用jquery的简单实现
2016/06/08 Javascript
浅谈JS函数定义方式的区别
2016/10/30 Javascript
Javascript继承机制详解
2017/05/30 Javascript
mui开发中获取单选按钮、复选框的值(实例讲解)
2017/07/24 Javascript
JavaScript中数组常见操作技巧
2017/09/01 Javascript
微信小程序实现手势滑动卡片效果
2019/08/26 Javascript
详解vue中多个有顺序要求的异步操作处理
2019/10/29 Javascript
实践Python的爬虫框架Scrapy来抓取豆瓣电影TOP250
2016/01/20 Python
详解python 字符串和日期之间转换 StringAndDate
2017/05/04 Python
python OpenCV学习笔记实现二维直方图
2018/02/08 Python
django一对多模型以及如何在前端实现详解
2019/07/24 Python
Html5踩坑记之mandMobile使用小记
2020/04/02 HTML / CSS
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
详解如何将 Canvas 绘制过程转为视频
2021/01/25 HTML / CSS
垃圾回收的优点和原理。并考虑2种回收机制
2016/10/16 面试题
Shell编程面试题
2016/05/29 面试题
计算机应用专业推荐信
2013/11/13 职场文书
简短证婚人证婚词
2014/01/09 职场文书
创意活动策划书
2014/01/15 职场文书
小学英语教学反思
2014/01/30 职场文书
爸爸的花儿落了教学反思
2014/02/20 职场文书
《沙漠中的绿洲》教学反思
2014/04/24 职场文书
高中运动会广播稿
2014/09/16 职场文书
中级会计大学生职业生涯规划书
2014/09/16 职场文书
Redis之RedisTemplate配置方式(序列和反序列化)
2022/03/13 Redis
SQL Server 中的事务介绍
2022/05/20 SQL Server