У меня есть список, который выглядит так:
mylist = ['item_11', 'item_0', 'item_1', 'item_2', 'item_9', 'item_10', 'item_none']
Я хочу отсортировать его по числам, но начиная с «item_none», поэтому результат будет выглядеть так:
['item_none', 'item_0', 'item_1', 'item_2', 'item_9', 'item_10', 'item_11']
Я нашел способ, который работает для меня, но он использует два понимания списка для переименования «item_none» в «item_-1» и обратно. Мне было интересно, есть ли более элегантный способ сделать это? Спасибо за любые предложения.
newlist = ['item_-1' if 'none' in x else x for x in mylist]
newlist.sort(key=lambda x: int(x.split('_')[-1]))
finallist = ['item_none' if '-1' in x else x for x in newlist]