如何在 python heapq 中使用 lambdas?

ome*_*ega 2 python heap

在 python heapq 中,如果要放入对象,如何使用 lambda 来指定其键?喜欢heapq.heappush(Q, v, key=lambda x: f(x))

谢谢

U2E*_*EF1 6

你不能。或者更确切地说,您不能将其指定为 lambda。但是,您可以制作一堆元组,heapq.heappush(Q, (key(v), v))并且heapq.heappop(Q)[1].