列表操作最大值问题
有个列表如a = ['4SH062001B0','2X001001B5','2X001001F3','4SH062001A0','2X001001B0','2X001001E1']
这6个元素是10位,最后2位是版本号,其实列表中只有两个元素,即4SH062001','2X001001',
只是有好多旧版本存在,现在想删除掉所有的旧版本,只留下最新版本。即'4SH062001B0','2X001001F3'
用for循环了好几次也没有达到要求,目前只刚学完第10鄣。
请达人帮忙看一下怎么来操作,用我目前所学的知识能完成吗? 本帖最后由 heidern0612 于 2020-4-21 07:57 编辑
a = ['4SH062001B0','2X001001B5','2X001001F3','4SH062001A0','2X001001B0','2X001001E1']
b=
print(b) heidern0612 发表于 2020-4-21 07:56
这么弄的话,还不如直接 print那两个{:10_312:} 凌九霄 发表于 2020-4-21 09:17
这么弄的话,还不如直接 print那两个
不是要用for循环么..元素多的情况下,还是可以考虑的 本帖最后由 凌九霄 于 2020-4-21 10:41 编辑
没仔细考虑,也没去找更简单的表示了,也许能用
a = ['4SH062001B0', '2X001001B5', '2X001001F3', '4SH062001A0', '2X001001B0', '2X001001E1']
a = sorted(a)[::-1]
b = sorted(list(set( for x in a])))[::-1]
for i in b:
for j in a:
if j[:-2] == i:
print(j)
break 本帖最后由 凌九霄 于 2020-4-21 10:42 编辑
heidern0612 发表于 2020-4-21 09:26
不是要用for循环么..元素多的情况下,还是可以考虑的
你不能写死,就题解题,它寻找的特定值不一定是4SH062001和2X001001,任意给你一堆类似的值,你的程序也要能找出来,懂我意思么 凌九霄 发表于 2020-4-21 10:07
没仔细考虑,也没去找更简单的表示了,也许能用
测试了, 完全没问题, 太谢谢了, 我想了好久, 搞的好复杂
还想取版本号来一一对比。 没想到一个倒序来配合就可以搞定。
最近想写一个公司文件的备份, 只想备份最版本版本号的文件,
前版本没用了就不要。
好了, 可进行下一步动作了, 谢谢凌九霄, 有问题还要再请教。
页:
[1]