如何对列表元素进行排序?
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']
我需要对列表进行排序:
["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']