from itertools import groupby
l = [['a1', 2], ['a1', 3], ['a1', 1], ['b1', 4], ['b1', 2], ['b1', 6], [
    'c1', 2]]
l = [max(g, key=lambda x: x[1]) for k, g in groupby(sorted(l), key=lambda x:
    x[0])]
Python – сравнить список списков и выбрать наибольшее значение