title: python sorted function with user defined cmp functions
body: <p>I want to order the items in a dictionary using various comparator functions.
  Please see my example code below. It is the last part using cmpRatio function with sorted() that does not work. I am not sure what I am doing wrong. Thanks in advance for any idea!</p>
  
  <pre><code>mydict = { 'a1': (1,6),
            'a2': (10,2),
            'a3': (5,3),
            'a4': (1,2),
            'a5': (3,9),
            'a6': (9,7) }
  
  # sort by first element of the value tuple: WORKS
  print sorted(mydict.iteritems(), key=lambda (k,v): v[0])
  
  # sort by second element of the value tuple: WORKS
  print sorted(mydict.iteritems(), key=lambda (k,v): v[1])
  
  # THIS is what I can't get working:
  def cmpRatio(x,y):
     sx = float(x[0])/x[1]
     sy = float(y[0])/y[1]
     return sx &lt; sy
  
  # sort by sum of the elements in the value tuple: DOES NOT WORK
  print sorted(mydict.iteritems(), key=lambda (k,v): v, cmp=cmpRatio)
  </code></pre>