繁体   English   中英

从字符串列表中选择一个字符串

[英]Selecting a string from list of strings

我有一个字符串列表[abc1, abc2, abc3, xyz3, xyz4]

在数字前面具有相同字符串的元素中,我需要只保留 output 列表中数字最高的字符串。 所以在abc1abc2abc3中,应该选择字符串abc3 xyz3xyz4中,应保留xyz4

所以最终列表应该包含[abc3, xyz4]

自过去 2 天以来,我一直在考虑如何解决这个问题,并且在尝试了一些方法未成功之后,我仍然对如何解决这个问题一无所知。 我将不胜感激任何帮助。

这个 function 就是你需要的

每个项目的第一步分为两部分,数字和字符串

步骤 2 如果字典中已经存在蚜虫,则将其值与当前项值进行比较。 如果较小,则将其值移动到当前数字。 否则,我将值保存在字典中。

最后,我们把字典变成一个列表

def split(items):
    biggest=dict()
    for i in items:
        string = i[:-1]
        number = int(i[-1])
        if string in biggest:
            if biggest[string]<number:
               biggest[string]=number
        else:
            biggest[string]=number
            
    return list([k+str(v) for k,v in biggest.items()])

x = ['abc1', 'abc2', 'abc3', 'xyz3', 'xyz4']

print(split(x))

output:

['abc3', 'xyz4']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM