python的heapq加入数组

中心思想就是
如果heapq加入的是一个可iterable类型的, 应该是根据第一项进行判断1

# -*- coding: utf-8 -*- 

class TestHeapq(object):
	def __init__(self, target_time):
		self.target_time = target_time

	def __call__(self, *args, **kwargs):
		print 'My target time is', self.target_time

	@property
	def target_time(self):
		return self._target_time

	@target_time.setter
	def target_time(self, value):
		self._target_time = value


from heapq import *

h3 = TestHeapq(3)
h2 = TestHeapq(2)
h1 = TestHeapq(1)


test = []
# 如果heapq加入的是一个可iterable类型的, 应该是根据第一项进行判断
heappush(test, (h3.target_time, h3))
heappush(test, (h2.target_time, h2))
heappush(test, (h1.target_time, h1))

heappop(test)[1]()
heappop(test)[1]()
heappop(test)[1]()
21

执行结果
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40666620/article/details/113921979