2010-11-11 145 views
1

因为我试图在这个程序中有效率地制作,我以为我会使用python中内置的heapq模块,但是我的一些对象有多个属性如姓名和号码。有没有一种方法可以根据某个属性使用heapify方法来堆积对象?我在文档中没有看到任何内容。python heapq模块,heapify对象的方法

回答

1

在我发布之后,我想你可以使用heapify之前需要的属性来创建一个对象列表,这需要O(n)个线性时间。这不会影响heapify或其他heapq方法的运行时间。

+0

我正要说... +1任何方式。 – 2010-11-11 03:35:35

+0

你能澄清你是怎么做到的吗?假设我有属性'name'和'number'的对象。我想把它们放在堆中,这样我就可以用* number *顺序读出它们(忽略它们的名称值)。如果我编制并整理了所有号码的单独列表,我可能会遇到相同或部分相同(相同名称或相同编号)值的问题。 – vsekhar 2012-01-16 04:15:05