Отсортировать файлы по возрастанию даты в имени
Имеется список файлов, в названии которых присутствует дата
a = ['03.04.2023.XML',
'17.04.2023.XML',
'27.03.2023.XML',
'10.04.2023.XML',
'18.04.2023.XML',
'21.04.2023.XML',
'14.04.2023.XML',
'25.04.2023.XML',
'13.04.2023.XML',
'29.03.2023.XML',
'28.03.2023.XML',
'07.04.2023.xml',
'19.04.2023.XML',
'30.03.2023.XML',
'05.04.2023.XML',
'26.04.2023.XML',
'06.04.2023.XML',
'30.03.2023.XML',
'07.04.2023.XML',
'27.03.2023.XML',
'28.03.2023.XML',
'10.04.2023.XML',
'29.03.2023.XML',
'14.04.2023.XML',
'24.04.2023.XML',
'13.04.2023.XML',
'11.04.2023.xml',
'17.04.2023.XML',
'19.04.2023.XML',
'12.04.2023.XML',
'20.04.2023.XML']
Как отсортировать их в правильном порядке, чтобы мартовские файлы были первые, а потом шли уже апрельские. Нужно универсальное решение, те хардкодинг именно под апрель и март не подойдет
Обычной сортировкой не удается получить нужный результат
d = sorted(a)
>>>
['03.04.2023.XML',
'05.04.2023.XML',
'06.04.2023.XML',
'07.04.2023.XML',
'07.04.2023.xml',
'10.04.2023.XML',
'10.04.2023.XML',
'11.04.2023.xml',
'12.04.2023.XML',
'13.04.2023.XML',
'13.04.2023.XML',
'14.04.2023.XML',
'14.04.2023.XML',
'17.04.2023.XML',
'17.04.2023.XML',
'18.04.2023.XML',
'19.04.2023.XML',
'19.04.2023.XML',
'20.04.2023.XML',
'21.04.2023.XML',
'24.04.2023.XML',
'25.04.2023.XML',
'26.04.2023.XML',
'27.03.2023.XML',
'27.03.2023.XML',
'28.03.2023.XML',
'28.03.2023.XML',
'29.03.2023.XML',
'29.03.2023.XML',
'30.03.2023.XML',
'30.03.2023.XML']
Источник: Stack Overflow на русском