我有以下列表。
例如下面的代码无法正常工作。
自从它将最后一个数字的字符串放在末尾,就像这样。
l = ['SRATT', 'SRATW', 'CRAT', 'CRA0', 'SRBTT', 'SRBTW', 'SRAT0', 'SRBT0']
我希望按字母顺序排序,并添加以下规则:以数字(实际上始终为0)结尾的字符串必须在最后一个完全按字母表顺序的字符串之后出现(最后一个字母最多是W)。
我应该如何做到这一点?(如果可能,使用简单的方法,如 sorted
)
对于这个例子列表,期望的结果将是
['CRAT', 'CRA0', 'SRATT', 'SRATW' , 'SRAT0', 'SRBTT', 'SRBTW', 'SRBT0']
例如下面的代码无法正常工作。
sorted(l, key=lambda x: x[-1].isdigit())
自从它将最后一个数字的字符串放在末尾,就像这样。
['SRATT', 'SRATW', 'CRAT', 'SRBTT', 'SRBTW', 'CRA0', 'SRAT0', 'SRBT0']