Usando 'reduzir' em uma lista de dicionários

Estou tentando escrever uma função Python simples que soma todos os valores que têm a chave comocurtidas. Estou trabalhando com programação funcional para esta tarefa. Portanto, sou obrigado a usar umcompreensão da lista, map, filteroureduce. Nesse caso, vejo reduzir como uma opção razoável.

def sum_favorites(msgs):
     num_favorites = reduce(lambda x, y: x["likes"] + y["likes"], msgs)
     return num_favorites


content1 = {"likes": 32, ...}
content2 = {"likes": 8, ...}
content3 = {"likes": 16, ...}
contents = [content1, content2, content3]
print(sum_favorites(contents)) 

O problema ocorre quando eu realmente executo o código. Parece que recebo algo como:TypeError: o objeto 'int' não é subscrito. Para mim, esse erro não faz sentido. E sereduce está realmente iterando através do parâmetro fornecido, cada item passado para a função lambda deve ser um dicionário - e cada um deles definitivamente possui umcurtidas chave neles. Qual é o problema e o que exatamente significa esse erro do Python?

questionAnswers(5)

yourAnswerToTheQuestion