我有
b = heapify([5,4,9,1])
如果我输入
type(b)
它说它是NoneType而不是列表类型,有人知道我做错了什么吗??
heapify()
方法就地转换列表。这意味着它修改了列表,但不返回修改后的列表。正如agf下面提到的,heapify()
返回None
以保护您免受此错误的影响。因此,如果您执行
lst = [5,4,9,1]
heapify(lst)
type(lst)
您将看到lst
现在被堆积。
heapify
改变传递给它的列表;就像l.sort()
一样。
>>> import heapq
>>> l = [9, 8, 7, 6]
>>> heapq.heapify(l)
>>> l
[6, 8, 7, 9]