python list使用示例 list中找连续的数字

时间:2022-10-16 19:49:46 

线上有个需求,格式化,从一堆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,list,数字
0
投稿

猜你喜欢

  • python实现串口自动触发工作的示例

    2023-11-06 22:19:09
  • 查看端口并杀进程python脚本代码

    2022-06-26 21:58:32
  • linux采用binary方式安装mysql

    2024-01-27 19:40:18
  • 解决90%的常见问题的8个python NumPy函数

    2021-12-06 23:33:39
  • Django 缓存配置Redis使用详解

    2021-12-27 12:34:32
  • Python之Pygame的Event事件模块

    2021-07-17 06:18:40
  • Python绘制3D立体花朵示例详解

    2021-06-26 02:59:54
  • Omi v1.0.2发布正式支持传递javascript表达式

    2024-04-19 11:03:04
  • MYSQL 无法识别中文的永久解决方法

    2024-01-13 05:24:48
  • GPU版本安装Pytorch的最新方法步骤

    2022-02-09 16:31:28
  • Pytorch中关于BatchNorm2d的参数解释

    2021-10-06 11:28:09
  • Python将二维列表list的数据输出(TXT,Excel)

    2021-06-11 05:23:20
  • python读写文件write和flush的实现方式

    2022-10-28 07:04:58
  • 跟老齐学Python之私有函数和专有方法

    2021-04-13 20:38:18
  • Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年

    2023-08-08 12:12:04
  • mysql installer web community 5.7.21.0.msi安装图文教程

    2024-01-25 02:35:23
  • javascript增加干扰数据实现简单加密效果

    2011-02-24 11:07:00
  • 查询字符串中包含特殊字符的问题

    2009-01-09 13:13:00
  • 详解python实现简单区块链结构

    2023-01-05 22:47:14
  • 《悟透JavaScript》之 甘露模型

    2008-06-09 14:03:00
  • asp之家 网络编程 m.aspxhome.com