J'ai ce code:éléments de commutation dans PriorityQueue
q = PriorityQueue()
a = ((1, 1), 10, 0)
q.put(a)
newTuple = ((1,1), 8, 0)
res = any(newTuple[0] in item for item in q.queue) #res = true
Actuellement, je vérifie si newTuple [0] (ie (1,1)) existe dans toute tuple dans le PriorityQueue. Je voudrais modifier le code pour qu'il vérifie si newTuple [0] est dans la file d'attente, et si c'est effectivement le cas (et est donc associé à un tuple 'a'), remplace ce tuple 'a' dans la file d'attente avec newTuple si newTuple [1] (ie, 8) est inférieur à [1] (ie, 10).
Est-ce possible?
Si vous voulez m'affecter, pouvez-vous me dire comment je peux m'améliorer? –
à ma connaissance 'PriorityQueue' est enroulé autour de' heapq', bien sûr vous pouvez modifier 'q.queue', mais vous devez le re-heapify. Pourquoi ne pas utiliser 'heapq' directement? – georgexsh