вы можете использовать:
from collections import defaultdict
a = [[['a','b'],3],[['b','a'],9],[['b','z'],4]]
d = defaultdict(lambda : 0)
for e, n in a:
d[frozenset(e)] += n
a = [[list(k), v] for k, v in d.items()]
a
выход:
[[['a', 'b'], 12], [['b', 'z'], 4]]
или вы можете использовать:
from functools import reduce
from operator import add
from collections import Counter
f = ({frozenset(k): v} for k, v in a)
d = reduce(add, map(Counter, f)) # sum unique data
result = [[list(k), v] for k, v in d.items()]
result
выход:
[[['a', 'b'], 12], [['b', 'z'], 4]]
если вам нравится однострочное решение:
[[list(k), v] for k, v in reduce(add, map(Counter, ({frozenset(k): v} for k, v in a))).items()]
вывод:
[[['a', 'b'], 12], [['b', 'z'], 4]]