python list使用示例 list中找连续的数字
线上有个需求,格式化,从一堆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)
相关推荐
-
kNN算法python实现和简单数字识别的方法
本文实例讲述了kNN算法python实现和简单数字识别的方法.分享给大家供大家参考.具体如下: kNN算法算法优缺点: 优点:精度高.对异常值不敏感.无输入数据假定 缺点:时间复杂度和空间复杂度都很高 适用数据范围:数值型和标称型 算法的思路: KNN算法(全称K最近邻算法),算法的思想很简单,简单的说就是物以类聚,也就是说我们从一堆已知的训练集中找出k个与目标最靠近的,然后看他们中最多的分类是哪个,就以这个为依据分类. 函数解析: 库函数: tile() 如tile(A,n)就是将A重复n次
-
python判断字符串是否纯数字的方法
本文实例讲述了python判断字符串是否纯数字的方法.分享给大家供大家参考.具体如下: 判断的代码如下,通过异常判断不能区分前面带正负号的区别,正则表达式可以根据自己需要比较灵活的写,通过isdigit方法用来判断是否是纯数字,测试代码如下 复制代码 代码如下: #!/usr/bin/python # -*- coding: utf-8 -*- a = "1" b = "1.2" c = "a" #通过抛出异常 def is_num_by_exc
-
python3实现短网址和数字相互转换的方法
本文实例讲述了python3实现短网址和数字相互转换的方法.分享给大家供大家参考.具体实现方法如下: import math import decimal def convert_to_code(num): """ 将数字转换为代码 """ def get_num(num, out=''): num = decimal.Decimal(num) codes = "abcdefghjkmnpqrstuvwxyz23456789ABCDEF
-
Python实现把数字转换成中文
周末在家,写了个小程序,用于将阿拉伯数字转换化大写中文.程序没经过任何优化,出没经过详细的测试,挂到网上,方便将来有需要的时候直接拿来用. #!/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerError(Exception): pass class OutOfRangeError(Exception): pass _MAPPING = (u'零', u'一', u'二', u'三', u'四', u'五'
-
Python实现将罗马数字转换成普通阿拉伯数字的方法
本文实例讲述了Python实现将罗马数字转换成普通阿拉伯数字的方法.分享给大家供大家参考,具体如下: 罗马数字,我们在某些电视中或者现实生活中都曾经看到过,近日,学习Python时,也遇到了罗马数字的解说,于是顺便写了一个小程序来练习罗马数字到我们日常生活普通数字之间的转换的小函数. 首先,咱们了解一下,罗马数字的潜在法则, 在罗马数字中,利用7个不同字母进行重复或者组合来表达各式各样的数字. I = 1 V = 5 X = 10 L = 50 C = 100 D = 500 M = 1000
-
python实现的简单猜数字游戏
本文实例讲述了python实现的简单猜数字游戏.分享给大家供大家参考.具体如下: 给定一个1-99之间的数,让用户猜数字,当用户猜错时会提示用户猜的数字是过大还是过小,知道用户猜对数字为止,猜对数字用的次数越少成绩越好. import random n = random.randint(1, 99) guess = int(raw_input("Enter an integer from 1 to 99: ")) while n != "guess": print
-
python中将阿拉伯数字转换成中文的实现代码
复制代码 代码如下: #!/usr/bin/python #-*- encoding: utf-8 -*- import types class NotIntegerError(Exception): pass class OutOfRangeError(Exception): pass _MAPPING = (u'零', u'一', u'二', u'三', u'四', u'五', u'六', u'七', u'八', u'九', ) _P0 = (u'', u'十', u'百', u'千', )
-
Python将阿拉伯数字转换为罗马数字的方法
本文实例讲述了Python将阿拉伯数字转换为罗马数字的方法.分享给大家供大家参考.具体实现方法如下: def numToRomanNum(Num): """digital will be converted into Roman numerals,Ex: numToRomanNum(3999)""" if Num < 1 or Num > 3999: print 'The Num must in 1-3999' else: NumDi
-
python实现将英文单词表示的数字转换成阿拉伯数字的方法
本文实例讲述了python实现将英文单词表示的数字转换成阿拉伯数字的方法.分享给大家供大家参考.具体实现方法如下: import re _known = { 'zero': 0, 'one': 1, 'two': 2, 'three': 3, 'four': 4, 'five': 5, 'six': 6, 'seven': 7, 'eight': 8, 'nine': 9, 'ten': 10, 'eleven': 11, 'twelve': 12, 'thirteen': 13, 'fourt
-
python基础教程之数字处理(math)模块详解
1.math简介 复制代码 代码如下: >>> import math>>>dir(math) #这句可查看所有函数名列表>>>help(math) #查看具体定义及函数0原型 2.常用函数 复制代码 代码如下: ceil(x) 取顶floor(x) 取底fabs(x) 取绝对值factorial (x) 阶乘hypot(x,y) sqrt(x*x+y*y)pow(x,y) x的y次方sqrt(x) 开平方log(x
-
Python中列表元素转为数字的方法分析
本文实例讲述了Python中列表元素转为数字的方法.分享给大家供大家参考,具体如下: 有一个数字字符的列表: numbers = ['1', '5', '10', '8'] 想要把每个元素转换为数字: numbers = [1, 5, 10, 8] 用一个循环来解决: new_numbers = []; for n in numbers: new_numbers.append(int(n)); numbers = new_numbers; 有没有更简单的语句可以做到呢? 1. numbers =
-
python处理大数字的方法
本文实例讲述了python处理大数字的方法.分享给大家供大家参考.具体实现方法如下: def getFactorial(n): """returns the factorial of n""" if n == 0: return 1 else: k = n * getFactorial(n-1) return k for k in range(1, 70): print "factorial of", k,"=&qu
随机推荐
- Can't connect to MySQL server on localhost (10061)解决方法
- mysql 5.7.11 winx64初始密码修改
- Flex中通过RadioButton进行切换示例代码
- JavaScript中使用Math.floor()方法对数字取整
- JS库之Three.js 简易入门教程(详解之一)
- .net 读取项目AssemblyInfo.cs属性值
- php 购物车实例(申精)
- PHP中call_user_func_array()函数的用法演示
- 详解C#中的out和ref
- 用iframe设置代理解决ajax跨域请求问题
- 超强推荐CSS打造经典鼠标触发显示选项
- jQuery实现鼠标可拖动调整表格列宽度
- jquery sortable的拖动方法示例详解
- 蜜罐技术:消除防火墙局限和脆弱
- Java线程池的几种实现方法和区别介绍
- ES6学习教程之块级作用域详解
- C#使用Http Post方式传递Json数据字符串调用Web Service
- 详解C#切换窗口
- JS实现遍历不规则多维数组的方法
- Python subprocess模块详细解读