creo文件保存时会生成后缀不同编号的文件,表示不同版本,假设有以下文件:
1.prt.1
1.prt.2
2.prt.1
1.asm.1
1.asm.2
1.asm.3
处理后要得到
1.prt.2
2.prt.1
1.asm.3
程序怎么写,我用了好多个for循环和列表才实现结果,有没有比较简单的方法实现
import re
a = '''1.prt.1
1.prt.2
2.prt.1
1.asm.1
1.asm.2
1.asm.3'''
mc = re.findall('(\d+\.\w+\.)(\d+)',a)
f = {}
for m in mc:
if m[0] in f.keys():
if int(m[1])>f[m[0]]:
f[m[0]]=int(m[1])
else:
f[m[0]]=int(m[1])
for k in f.keys():
print(k+str(f[k]))
a = ['1.prt.1',
'1.prt.2',
'2.prt.1',
'1.asm.3',
'1.asm.1',
'1.asm.2'
]
a.sort(reverse=True)
l = [i[:-2] for i in a]
l_num = [int(i[-1]) for i in a]
l_s = set(l)
result = [i + "." + str(l_num[l.index(i)]) for i in l_s]
如有帮助,希望点一下下采纳
您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!