gpt4 book ai didi

python - 访问 heapq 的索引和长度?

转载 作者:太空宇宙 更新时间:2023-11-04 09:54:03 26 4
gpt4 key购买 nike

我最初尝试使用优先级队列编写算法来解决 15 题,但我的导师告诉我们,我们需要编写 a* 实现,并建议我们使用 heapq 而不是优先级队列。我无法找到我的 heapq 的长度/大小,也无法访问我的 heapq 的元素。我的印象是,通过使用 heapq,您将能够访问 heapq 中您无法在优先级队列中访问的元素。但是,似乎没有任何方法可以从 heapq 中查找长度/检索元素。你们中有人知道获取 heapq 的长度/元素的方法或更适合这种情况的数据结构吗?

最佳答案

heapq 堆只不过是其元素遵循特殊(非唯一)顺序的列表。

您可以像在任何其他列表上一样对其使用 len(heap)

In [1]: import heapq
In [2]: heap = [40, 10, 20, 30]
In [3]: heapq.heapify(heap)
In [4]: heap
Out[4]: [10, 30, 20, 40]

In [5]: heapq.heappop(heap)
Out[5]: 10

In [6]: heap
Out[6]: [20, 30, 40]

In [7]: len(heap)
Out[7]: 3

您还应该阅读 the python documentation for heapq : example section你应该感兴趣。

关于python - 访问 heapq 的索引和长度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46634612/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com