python list使用示例 list中找連續(xù)的數(shù)字
更新時間:2014年01月27日 09:36:39 作者:
這篇文章主要介紹了list中找連續(xù)的數(shù)字的示例,大家參考使用吧
線上有個需求,格式化,從一堆s1,s100-s199中找出連續(xù)的服并且格式化顯示出來,如:
神魔:S106-109,s123,s125
御劍: s106-109,s123,s125
復(fù)制代碼 代碼如下:
#!/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將阿拉伯?dāng)?shù)字轉(zhuǎn)換為羅馬數(shù)字的方法
- python實現(xiàn)將英文單詞表示的數(shù)字轉(zhuǎn)換成阿拉伯?dāng)?shù)字的方法
- Python實現(xiàn)把數(shù)字轉(zhuǎn)換成中文
- python3實現(xiàn)短網(wǎng)址和數(shù)字相互轉(zhuǎn)換的方法
- python中將阿拉伯?dāng)?shù)字轉(zhuǎn)換成中文的實現(xiàn)代碼
- python判斷字符串是否純數(shù)字的方法
- python基礎(chǔ)教程之?dāng)?shù)字處理(math)模塊詳解
- kNN算法python實現(xiàn)和簡單數(shù)字識別的方法
- python實現(xiàn)的簡單猜數(shù)字游戲
- Python中列表元素轉(zhuǎn)為數(shù)字的方法分析
- python處理大數(shù)字的方法
- Python實現(xiàn)將羅馬數(shù)字轉(zhuǎn)換成普通阿拉伯?dāng)?shù)字的方法
相關(guān)文章
python操作docx寫入內(nèi)容,并控制文本的字體顏色
今天小編就為大家分享一篇python操作docx寫入內(nèi)容,并控制文本的字體顏色,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-02-02python深度學(xué)習(xí)tensorflow1.0參數(shù)和特征提取
這篇文章主要為大家介紹了python深度學(xué)習(xí)tensorflow1.0參數(shù)和特征提取,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-06-06python實現(xiàn)微信接口(itchat)詳細介紹
這篇文章主要介紹了python實現(xiàn)微信接口(itchat)詳細介紹,小編覺得挺不錯的,這里分享給大家,供需要的朋友參考。2017-10-10簡單了解python filter、map、reduce的區(qū)別
這篇文章主要介紹了簡單了解python filter、map、reduce的區(qū)別,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-01-01