码迷,mamicode.com
首页 > 编程语言 > 详细

python list 中找连续的数字(由网友处学习)

时间:2014-09-10 08:21:10      阅读:283      评论:0      收藏:0      [点我收藏+]

标签:http   ar   for   sp   html   on   c   line   ad   

# -*- coding: utf-8 -*-

# python:2.x

__author__ = ‘Administrator‘

#学习这个要求的:http://wsky.org/archives/162.html

import sys

from itertools import *

from operator import *

def parse(f):

    d={}

    for line in open(f,‘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__‘:

    f=sys.argv[1]

    parse(f)

python list 中找连续的数字(由网友处学习)

标签:http   ar   for   sp   html   on   c   line   ad   

原文地址:http://www.cnblogs.com/mhxy13867806343/p/3963693.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!