По умолчанию ссылочные типы имеют ссылочное равенство (т. е. два экземпляра равны только, если они являются одним и тем же объектом).
Вам необходимо переопределить Object.Equals
(и Object.GetHashCode
для соответствия), чтобы реализовать ваши собственное равенство. (И тогда хорошей практикой является реализация равенства, ==
, operator.)
Вы всегда можете использовать переменные для хранения частей большего выражения (например, вы можете сохранить month.0|stringformat:'02d'
и forloop.counter|stringformat:'02d'
, а затем просто заменить выражения на переменные).