[英]Selecting a string from list of strings
我有一个字符串列表[abc1, abc2, abc3, xyz3, xyz4]
在数字前面具有相同字符串的元素中,我需要只保留 output 列表中数字最高的字符串。 所以在abc1
、 abc2
和abc3
中,应该选择字符串abc3
。 在xyz3
和xyz4
中,应保留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.