编写一个类并使用嵌入式python列表实现一个列表。
输入像:4 9 3 5
输出应为:3 4 5 9
我使用此代码获取输入值并将其拆分到列表中
s = input()
numbers = map(int, s.split())
我如何为该listPQ建立一个类,该类接受列表值并放置,获取和检查列表是否为空?
要尝试您的队列是否有效:
q = ListPQ()
q.put(3)
q.put(4)
x = q.get()
y = q.get()
print(x,y) #it should print 3 4
最佳答案
您可以使用python标准库中的heapq模块。然后甚至没有课也有可能。
没有课程:
import heapq
h = []
heapq.heappush(h, 4)
heapq.heappush(h, 3)
heapq.heappush(h, 9)
heapq.heappush(h, 5)
print(heapq.heappop(h))
print(heapq.heappop(h))
print(heapq.heappop(h))
print(heapq.heappop(h))
输出为(空格而不是换行符):
3 4 9 5
如果您需要上课,可以按照以下步骤进行:
class ListPQ():
def __init__(self):
self.h = []
def put(self, item):
heapq.heappush(self.h, item)
def get(self):
return heapq.heappop(self.h)
关于python - 使用嵌入式列表的python队列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/18826942/