如何对列表元素进行排序?

How to sort list elements?

我需要对列表进行排序:

["3B", "1A", "2T", "4E", "2A", "4A", "1B", "10E"]

["1B", "1A", "2T", "2A", "3B", "4E", "4A", "10E"]

字母采用 'BETA'

我尝试使用 list sort() 函数,但在这种情况下它不起作用。

有可能实现吗?在 for 循环中?

您可以使用自定义 key 对列表进行排序。首先,您要按字符串中的数字排序,然后(在平局的情况下)按单词“BETA”中最后一个字母的位置排序:

>>> sorted(my_list, key=lambda s: (int(s[:-1]), "BETA".find(s[-1])))
['1B', '1A', '2T', '2A', '3B', '4E', '4A', '10E']