python PriorityQueue 如何转化成列表
时间: 2023-11-15 07:59:18 浏览: 258
Java优先队列(PriorityQueue)示例Java
Python中的PriorityQueue是一个优先级队列,它可以按照元素的优先级进行排序。如果你想将PriorityQueue转换为列表,可以使用以下方法:
1. 使用循环逐个弹出元素并添加到列表中:
```python
from queue import PriorityQueue
pq = PriorityQueue()
pq.put((2, 'second'))
pq.put((1, 'first'))
pq.put((3, 'third'))
lst = []
while not pq.empty():
lst.append(pq.get()[1])
print(lst) # ['first', 'second', 'third']
```
2. 使用列表推导式:
```python
from queue import PriorityQueue
pq = PriorityQueue()
pq.put((2, 'second'))
pq.put((1, 'first'))
pq.put((3, 'third'))
lst = [pq.get()[1] for i in range(pq.qsize())]
print(lst) # ['first', 'second', 'third']
```
以上两种方法都可以将PriorityQueue转换为列表,但是第一种方法更加直观易懂。
阅读全文