微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

如何解决从字符串列表中选择一个字符串

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

在数字前面具有相同字符串的元素中,我只需要保留输出列表中数字最大的字符串。因此,在 abc1abc2abc3 中,应该选择字符串 abc3。在 xyz3xyz4 之外,应保留 xyz4

因此最终列表应包含 [abc3,xyz4]

自过去 2 天以来,我一直在思考如何解决这个问题,在尝试了一些方法失败后,我仍然不知道如何做到这一点。我将不胜感激。

解决方法

这个功能正是你所需要的

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

第 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))

输出:

['abc3','xyz4']

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。