Я бы порекомендовал использовать здесь словарь, он намного чище.В частности, я бы порекомендовал collections.defaultdict
:
from collections import defaultdict
dct = defaultdict(list)
for key, *values in a:
dct[key].extend(values)
Выход:
defaultdict(list,
{'huhu': ['dow'],
'haha': ['dow', 'pow', 'dow', 'mat'],
'hihi': ['dow', 'pow']})
Если вы хотите это в виде списка,это довольно простое понимание:
[[k, *v] for k, v in dct.items()]
# [['huhu', 'dow'], ['haha', 'dow', 'pow', 'dow', 'mat'], ['hihi', 'dow', 'pow']]