我有一个巨大的字符串列表,其中一些字符串只有两个或三个字符不同,如下所示:
ENSH-DFFEV1-5F
ENSH-DFFEV2-5F
ENSH-DFFEV3-5F
FVB.DFFVRV2-4T
FVB.DFFVRV3-4T
我想要做的只是保留'V'后面的数字最大的那些元素。从上面的例子我想
ENSH-DFFEV3-5F
FVB.DFFVRV3-4T
在Python中有一种简单的方法吗?
答案 0 :(得分:1)
@stevieb是对的,但无论如何,我为你做了努力。
s = """
ENSH-DFFEV1-5F
ENSH-DFFEV2-5F
ENSH-DFFEV3-5F
FVB.DFFVRV2-4T
FVB.DFFVRV3-4T
""".split()
def custom_filter(s):
out = []
current_max = -1
for r in s:
v = int(r.rsplit('-', 1)[0][-1]) # <- you should probably edit this line to fit your data structure
if v > current_max:
current_max = v
out = []
if v == current_max:
out += [r]
return out
for e in custom_filter(s):
print e