Christopher Spears wrote: > My apologies to everyone. Here is the complete code: > > > class PriorityQueue: > def __init__(self): > self.items = [] > > def isEmpty(self): > return self.items == [] > > def insert(self, item): > self.items.append(item) > > def remove(self): > maxi = 0 > for i in range(1, len(self.items)): > if self.items[i] > self.items[maxi]: > maxi = i > item = self.items[maxi] > self.items[maxi:maxi+1] = [] > return item > Slice indexing in Python is up-to-but-not-including. So
self.items[maxi:maxi+1] = [] means, replace the slice of self.items, that starts at maxi and goes up to but not including maxi+1, with the empty list. So it is effectively deleting self.items[maxi], which could also be written as del self.items[maxi] or combine it with the line above as item = self.items.pop(maxi) By the way if this class is for production use, rather than learning, you should look into the heapq module, it implements a much more efficient algorithm than the one above. heapq implements a min heap, not a max heap, so you need some kind of wrapper for your items to get them in the order you want. Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor