编写一个类并使用嵌入式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/

10-11 08:37