Python Language Using the cmp function to get the comparison result of two objects


Python 2 includes a cmp function which allows you to determine if one object is less than, equal to, or greater than another object. This function can be used to pick a choice out of a list based on one of those three options.

Suppose you need to print 'greater than' if x > y, 'less than' if x < y and 'equal' if x == y.

['equal', 'greater than', 'less than', ][cmp(x,y)]

# x,y = 1,1 output: 'equal'
# x,y = 1,2 output: 'less than'
# x,y = 2,1 output: 'greater than'

cmp(x,y) returns the following values

x < y-1
x == y0
x > y1

This function is removed on Python 3. You can use the cmp_to_key(func) helper function located in functools in Python 3 to convert old comparison functions to key functions.