中心思想就是
如果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
执行结果