OrderedDict(sorted(output.items(), key=lambda item: int(item[0].split('.')[0])))
Пример
output = {f'{i}.jpg': None for i in reversed(range(21))}
od = OrderedDict(sorted(output.items(), key=lambda item: int(item[0].split('.')[0])))
Выход:
OrderedDict([('0.jpg', None),
('1.jpg', None),
('2.jpg', None),
('3.jpg', None),
('4.jpg', None),
('5.jpg', None),
('6.jpg', None),
('7.jpg', None),
('8.jpg', None),
('9.jpg', None),
('10.jpg', None),
('11.jpg', None),
('12.jpg', None),
('13.jpg', None),
('14.jpg', None),
('15.jpg', None),
('16.jpg', None),
('17.jpg', None),
('18.jpg', None),
('19.jpg', None),
('20.jpg', None)])