问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

python 文本处理难题。 只能采用Python解决。要求最优效率最高解法,谢谢。

发布网友 发布时间:2022-05-29 19:10

我来回答

2个回答

热心网友 时间:2023-11-08 19:46

最优效率最高解法是啥?
结果:
C:\>cat.py
['10.0.4', '172.19.3', '192.16.1-2', '192.16.9', '192.16.29', '192.16.99-100', '
192.168.1-3']

代码:
import string

def toNumber(ipStr):
nums=[int(i) for i in ipStr.split(".")]
return rece(lambda x,y:x*256+y,nums)

def fromNumber(i):
s=[]
while i>256:
s.append(i%256)
i/=256
s.append(i)
s.reverse()
s=[str(i) for i in s]
return string.join(s,'.')

def fromArr(arr):
if len(arr)==1:
return fromNumber(arr[0])
else:
return fromNumber(arr[0])+"-"+str(arr[-1]%256)

def convert(fname):
#to number
ips=[toNumber(ip.strip()) for ip in open("cat.txt").readlines()]
ips.sort()
#collect
alen=len(ips)
narr=[]
i=0
last=0
while i+1<alen:
if ips[i+1]-ips[i]>1:
narr.append(ips[last:i+1])
last=i+1
i+=1
narr.append(ips[last:])
#to our special form
return [fromArr(a) for a in narr]

s=convert("cat.txt")
print s

热心网友 时间:2023-11-08 19:47


from itertools import groupby
context = """
192.168.1
192.168.2
192.168.3
172.19.3
192.16.1
192.16.2
10.0.4
192.16.29
192.16.9
192.16.99
192.16.100
"""
for prefix, block in groupby(map(lambda x: x.split('.'), 
                                 filter(None, sorted(context.splitlines()))),
                             lambda x: x[:2]):
    range = list(block)
    if len(range)==1:
        print '.'.join(range[0])
    else:
        print '.'.join(range[0]) + ' ~ ' + '.'.join(range[-1])

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
陌陌发语音出现转码失败怎么办 女孩2010年5月10号阴历3月27早晨9点55分出生的五行缺什么 钟姓男孩名字2023年5月10日出生的 凤眼果有什么营养?凤眼果的这些营养你都知道吗? 专升本成绩多少合格 山东专升本成绩多少合格 山东2022年专升本成绩什么时候出 2024专升本成绩公布时间及入口 2023年山东专升本各专业录取分数线 什么时候出专升本成绩 山东专升本综合素质测评成绩怎么算 怎么改好听 朴初珑,尹普美,郑恩地,孙恩娜,金南珠,吴夏荣,洪愉璟中谁最漂亮? 孙娜恩 金南珠组成的cp名 吴夏荣 郑恩地cp名 郑恩地 孙娜恩cp名 这是Apink里面的哪几个成员?? 对单个字段的结果进行去重,distinct和group by谁的执行效率快? 日本SMC IL211-02断气回装后失效 smc产品IR2010-02怎样拆装 SMC压力传感器,型号为ISE80-02-R的使用说明。 AQ2000 ENH可以做家用路由器吗怎么设置 smc中AF30-02用的是什么滤芯,型号 有抓绒衣配冲锋衣 SMC 调节阀ARG20K-01G2H与02G1H有什么区别? 姜老师盘口语言是不是骗子 求助大神普及 autelan AQ2000-E2AN2这款设备的数据和用途,哪里有论坛? 新赛季至今詹姆斯拿到845分,伦纳德722分,哈登库里数据如何? 杜兰特、詹姆斯和库里,新秀赛季分别带队取得多少胜? 在NBA本赛季的得分榜当中,库里到底排在第几? 斯蒂芬库里的数据统计呢? 库里连续11场30+,库里在哪些纪录上超越詹科了? 19年西决库里场均36.5分8.3板7.3助,汤普森和格林什么数据? 改成什么比较好听? apink官配是甚麼? 孙娜恩&吴夏荣 郑恩地&金南珠 尹普美&朴初珑? 郑恩地生日是多久? 伊普美生日是多久? 朴初珑生日是多久? 吴夏荣生日是多久? 金南珠 改成什么比较有意义女生 郑恩地、金南珠 韩国光复70周年演唱会a pink郑恩地金南珠和infiniteL HOYA唱的歌叫什么 c# datatable 分组并统计 改成什么好听 怎么改好听关于追星 改成什么比较有创意 delphi,在DBGrid1控件中显示平均时间?SQL语句怎么写的? 改一个有意义的改个有意义的id 改什么好听好记 护手霜好还是修护霜好 改什么好听有意义 改什么好听有意义 改什么好听好记? 混合性皮肤应当怎样保养?请推荐几款有效且适合年轻姑娘使用的护肤品! 改成啥 卫生间换气扇带LeD灯只有白色,黑色,*三种颜色,请问怎样接线?