【发布时间】:2019-11-28 02:14:37
【问题描述】:
heapq.heapify() 是如何工作的?
我正在尝试使用堆找到中位数。
heapify 以排序方式返回给我
当我使用heapq.heappush() 添加元素时,它被插入到列表中。
当我再次调用 heapify 时,返回的列表未排序。
import heapq
l=[5,15,1,3]
heapq.heapify(l)
print(l)
这给了我[1, 3, 5, 15]
但是当我添加heapq.heappush(l,2)
它返回
[1, 2, 5, 15, 3]
当我再做一次heapq.heapify(l)
不过,它给了我同样的感觉。
[1, 2, 5, 15, 3]
我们如何使用堆找到中值?列表是否应该排序?
【问题讨论】:
标签: heap python-3.7