У меня есть простой список, в котором числа являются строками:
simple_list = ['1','2','3','4','5','K','P']
Я хотел бы отсортировать это сначала по альфе, а затем по цифрам.
В настоящее время яя делаю:
# Probably a faster way to handle this
alpha_list = [x for x in simple_list if not x.isnumeric()]
grade_list = [x for x in simple_list if x.isnumeric()]
# Put the alpha grades at the beginning of the grade_list
if alpha_list:
grade_list = sorted(alpha_list) + sorted(grade_list)
Я уверен, что есть более быстрый способ справиться с этим - я просто не могу его найти.
Результат, который я сейчас получаю, правильный ['K','P','1','2','3','4','5']
Я просто хотел узнать, есть ли способ, которым я мог бы сократить все это, что было бы более эффективно, чем многократное понимание списка.