[lang-ref] ( sorted_by_multiple_keys ) ( python )
def test_sorted_by_multiple_keys():
# itemgetter or tuple
from operator import itemgetter
items = [
('Team-A', 980, 3),
('Team-B', 980, 2),
('Team-C', 970, 9),
]
expected = [
('Team-C', 970, 9),
('Team-B', 980, 2),
('Team-A', 980, 3),
]
r1 = sorted(items, key=itemgetter(1, 2, 0))
r2 = sorted(items, key=lambda x: (x[1], x[2], x[0]))
assert r1 == expected
assert r2 == expected
# Tip: To sort a specific numeric column in descending order, negate it:
# key=lambda x: (x[1], -x[2], x[0])