[英]Python sort strings in a list of strings by 3 last characters and a number
I've a list of strings as following:我有一个字符串列表如下:
input = ['foobaraaa1', 'foobaraab1', 'foobaraac1', 'foobaraaa2', 'foobaraab2', 'foobaraacc']
I need to sort it descending by last 4 characters and a rule that numbers < letters
and print first output我需要按最后 4 个字符和
numbers < letters
并首先打印 output 的规则对其进行降序排序
In this case I'd need the output to be foobaraacc
在这种情况下,我需要 output 是
foobaraacc
my code looks like:我的代码看起来像:
print((f'Latest Released Firmware SM-J400F: ' + sorted(result,key=lambda x: (x[::-4], len(x)),reverse=True)[0]))
But it is not working as needed但它没有按需要工作
Your key function is… strange.你的钥匙 function 是……奇怪。 Why did you put
len(x)
there?你为什么把
len(x)
放在那里? IMHO this should be enough:恕我直言,这应该足够了:
print((f'Latest Released Firmware SM-J400F: ' + sorted(result,key=lambda x: x[-4:],reverse=True)[0]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.