Usar 'reducir' en una lista de diccionarios

Estoy tratando de escribir una función simple de Python que sume todos los valores que tienen la clave comogustos. Estoy trabajando con programación funcional para esta tarea. Por lo tanto, estoy obligado a usar unlista de comprensión, map, filteroreduce. En este caso, veo reducir como una opción razonable.

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)) 

El problema surge cuando realmente ejecuto el código. Parece que recibo algo en la línea de:TypeError: el objeto 'int' no es subscriptable. Para mí, este error no tiene sentido. Sireduce está realmente iterando a través del parámetro dado, entonces cada elemento pasado a la función lambda debería ser un diccionario, y cada uno de ellos definitivamente tiene ungustos clave en ellos. ¿Cuál es el problema y qué significa exactamente este error de Python?

Respuestas a la pregunta(5)

Su respuesta a la pregunta