Скажем, у меня есть следующий список:
l = ['erget', 'a1', 'm1', 'aa', 'ae', 'mea', 'erge4', 'erge7', 'm2', 'me2', 'mei']
При использовании sorted()
над списками строк, которые также содержат цифры, цифры идут перед буквами, поэтому в этом случае это приведет к:
sorted(l)
['a1', 'aa', 'ae', 'erge4', 'erge7', 'erget', 'm1', 'm2', 'me2', 'mea', 'mei']
Я видел несколько ответов, таких как этот о том, как заставить буквы появляться перед цифрами, но только для одной цифры или буквы.Можно ли сделать это, используя key
в sorted()
, когда цифра может быть где угодно в строке?Итак, ожидаемый результат:
['aa', 'ae', 'a1', 'erget', 'erge4', 'erge7', 'mea', 'mei', 'me2', 'm1', 'm2']