Ah non, ma faute, en fait il ne faut pas redéfinir __eq__(), si on le fait alors ça fait sauter le hash (enfin, disons que ça casse quelque chose quelque part) et on ne peut plus l'utiliser dans les set(), mais on n'a pas besoin de surcharger cette méthode : elle fonctionne très bien nativement.
Donc on définit uniquement __lt__() avec le @total_ordering, et on est bon :)
[^] # Re: Besoin d'énumérations ordonnées
Posté par Yth (Mastodon) . En réponse au message Advent of Code 2023, day 7. Évalué à 2.
Ah non, ma faute, en fait il ne faut pas redéfinir
__eq__(), si on le fait alors ça fait sauter le hash (enfin, disons que ça casse quelque chose quelque part) et on ne peut plus l'utiliser dans les set(), mais on n'a pas besoin de surcharger cette méthode : elle fonctionne très bien nativement.Donc on définit uniquement
__lt__()avec le @total_ordering, et on est bon :)