On Mon, Nov 10, 2014 at 12:19 PM, Peter Otten <__pete...@web.de> wrote: > I'm not sure this works. I tried:
Here's a simpler failure case. >>> ineq = """f2 > f3 ... f3 > f1""" [Previously posted code elided] >>> greater_thans set([('f3', 'f1'), ('f2', 'f3')]) >>> sorted(all_f, cmp=lambda t1, t2: 0 if t1==t2 else ... (1 if (t1, t2) not in greater_thans else -1)) ['f1', 'f2', 'f3'] Note that the greater_thans set is missing the implication by transitivity that f2 > f1, so the given cmp function would inconsistently return -1 for both comparisons cmp('f1', 'f2') and cmp('f2', 'f1'). -- https://mail.python.org/mailman/listinfo/python-list