python中的列表排序-AAA与AA等

python中的列表排序-AAA与AA等,python,python-3.x,list,Python,Python 3.x,List,我正在努力将列表排序为对我的业务案例有用的顺序,我一直在使用sorted()函数 使用排序函数时,我的列表如下所示: ['A', 'AA', 'AA', 'AAA', 'AAA', 'AAA', 'C', 'CC', 'CCC', 'D'] 但是,我需要列表来输出以下内容: ['AAA', 'AAA', 'AAA','AA', 'AA','A','CCC','CC', 'C', 'D'] AAA高于AA,但A高于CCC等。是否可以使用开箱即用的功能实现这一点,或者是否有人可以提供解决方案 非

我正在努力将列表排序为对我的业务案例有用的顺序,我一直在使用sorted()函数

使用排序函数时,我的列表如下所示:

['A', 'AA', 'AA', 'AAA', 'AAA', 'AAA', 'C', 'CC', 'CCC', 'D']
但是,我需要列表来输出以下内容:

['AAA', 'AAA', 'AAA','AA', 'AA','A','CCC','CC', 'C', 'D']
AAA高于AA,但A高于CCC等。是否可以使用开箱即用的功能实现这一点,或者是否有人可以提供解决方案


非常感谢。

每个字符串都保证由同一个字母组成吗?
AB
vs
A
?具体规则是什么?它能用英语表达吗?这是“AAA”->D信用评级吗?这些似乎不仅仅是字符串,而是某种东西的实际表达。考虑使用定义良好的顺序创建一个类甚至枚举。
a = ['A', 'AA', 'AA', 'AAA', 'AAA', 'AAA', 'C', 'CC', 'CCC', 'D']

sorted(a, key=lambda x: (x[0], -len(x)))
>>>>['AAA', 'AAA', 'AAA', 'AA', 'AA', 'A', 'CCC', 'CC', 'C', 'D']