[lang-ref] ( sort_by_custom_func ) ( python )
def test_sort_by_custom_func():
items = [-5, -3, -1, 0, 2, 4, 6]
expected = [0, -1, 2, -3, 4, -5, 6]
r1 = sorted(items, key=lambda x: abs(x))
r2 = sorted(items, key=abs)
assert r1 == expected
assert r2 == expected
def myfunc(x):
return abs(x)
r3 = sorted(items, key=myfunc)
assert r3 == expected
# Note: In Python 2, you could pass a cmp function:
# sorted(items, cmp=lambda x, y: cmp(abs(x), abs(y)))