Olá
Gostaria de compartilhar minha solução, sem usar a lista intermediaria, diferentemente da solução proposta pelo instrutor
funcionarios = [('SP', 16), ('ES', 8), ('MG', 9), ('MG', 6), ('SP', 10), ('MG', 4), ('ES',9), ('ES', 7), ('ES', 12), ('SP', 7), ('SP', 11), ('MG',8), ('ES',8), ('SP',9), ('RJ', 13), ('MG', 5), ('RJ', 9), ('SP', 12), ('MG', 10), ('SP', 7), ('ES', 14), ('SP', 10), ('MG', 12)]
UFs = list(set([tupla[0] for tupla in funcionarios]))
funcionários_por_estado = {UF: [tupla[1] for tupla in funcionarios if tupla[0] == UF] for UF in UFs}
total_funcionários_por_estado = {UF: sum(funcionários_por_estado[UF]) for UF in UFs}
print(f'Dicionário 1 - Listas por estado:\n {funcionários_por_estado}')
print()
print(f'Dicionário 2 - Total por estado:\n {total_funcionários_por_estado}')