基于Python中的子字符串从列表中删除元素

时间:2017-06-29 18:43:36

标签: python list

我有一个巨大的字符串列表,其中一些字符串只有两个或三个字符不同,如下所示:

ENSH-DFFEV1-5F
ENSH-DFFEV2-5F
ENSH-DFFEV3-5F
FVB.DFFVRV2-4T
FVB.DFFVRV3-4T

我想要做的只是保留'V'后面的数字最大的那些元素。从上面的例子我想

ENSH-DFFEV3-5F
FVB.DFFVRV3-4T

在Python中有一种简单的方法吗?

1 个答案:

答案 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