100 votes

Comment faire en sorte que heapq évalue le tas d’un attribut spécifique?

Je veux contenir un tas d’objets, pas seulement des chiffres. Ils auront un attribut entier dans lequel le tas peut trier. Le moyen le plus simple d’utiliser des tas en python est heapq, mais comment puis-je lui dire de trier par un attribut spécifique lors de l’utilisation de heapq?

104voto

eumiro Points 56644

trie les objets de la même manière, il suffit donc de définir une méthode `` dans votre définition de classe, qui se comparera à une autre instance de la même classe :

Fonctionne en Python 2.x.

Dans 3.x, utilisez :

11voto

Tushar Agarwal Points 53

Je pense que le moyen le plus simple est de remplacer la fonction cmp_lt existante du module heapq. Un court exemple :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X