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