New submission from David Manowitz: I'm trying to sort a list of tuples. Most of the tuples are pairs of US state names. However, some of the tuples have None instead of the 2nd name. I want the items sorted first by the 1st element, and then by the 2nd element, BUT I want the None to count as LARGER than any name. Thus, I want to see [('Alabama', 'Iowa'), ('Alabama', None)] rather than [('Alabama', None), ('Alabama', 'Iowa')]. I defined the following comparitor:
def cmp_keys (k1, k2): retval = cmp(k1[0], k2[0]) if retval == 0: if k2[1] is None: retval = -1 if k1[1] is None: retval = 1 else: retval = cmp(k1[1], k2[1]) return retval However, once I sort using this, some of the elements are out of order. ---------- components: Interpreter Core messages: 263367 nosy: David.Manowitz priority: normal severity: normal status: open title: Possible bug in sorting algorithm type: behavior versions: Python 2.7 _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue26751> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com