python bisect questions

ankitks.mital at gmail.com ankitks.mital at gmail.com
Thu Apr 3 15:58:25 EDT 2008


I am week on functional programming, and having hard time
understanding this:

class myPriorityQueue:
      def __init__(self, f=lamda x:x):
              self.A = []
              self.f = f

      def append(self, item)
              bisect.insort(self.A, (self.f(item), item))
    ............

now I know we are inserting items(user defined type objects) in list A
base on sorting order provided by function A.
but what I don't understand is bisect command
what does bisect.insort(self.A, (self.f(item), item)) doing

isn't it is returning truple of (self.f(item), item)).
why it is not
biset.insort(self.A, item)
A.sort(f)

thanks for your comments



More information about the Python-list mailing list