items()
возвращает (key, value)
пары. t[1]
смотрит на вторую часть этой пары, значение. Просто сделай
expected_output=collections.OrderedDict(sorted(expected_output.items()))
, что даст нам
OrderedDict([('100', ['1.0']), ('101', ['0.0']), ('102', ['1.0']), ('103', ['1.0']),
('104', ['0.0']), ('105', ['0.0']), ('106', ['1.0']), ('107', ['1.0']),
('108', ['0.0']), ('109', ['0.0']), ('13', ['0.0']), ('14', ['8.0']), ('99', ['1.0'])])
Если вы хотите отсортировать ключи как целые числа, а не строки, вы можете сделать
expected_output=collections.OrderedDict(sorted(expected_output.items(),
key=lambda pair: int(pair[0])))
чтобы получить
OrderedDict([('13', ['0.0']), ('14', ['8.0']), ('99', ['1.0']), ('100', ['1.0']),
('101', ['0.0']), ('102', ['1.0']), ('103', ['1.0']), ('104', ['0.0']),
('105', ['0.0']), ('106', ['1.0']), ('107', ['1.0']), ('108', ['0.0']),
('109', ['0.0'])])