использовать int для «x» и словарь для «y». Таким образом,
аюсь написать простую функцию Python, которая суммирует все значения, которые имеют ключ какнравится, Я работаю с функциональным программированием для этого задания. Таким образом, я должен использовать либоСписок постижение, map
, filter
, или жеreduce
, В этом случае я вижу уменьшение как разумный вариант.
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))
Проблема возникает, когда я действительно запускаю код. Я, кажется, получаю что-то вроде:TypeError: объект 'int' не может быть подписан, Для меня эта ошибка не имеет смысла. Еслиreduce
действительно перебирает данный параметр, тогда каждый элемент, переданный в лямбда-функцию, должен быть словарем - и каждый из них определенно имеетнравится ключ в них. В чем проблема, и что именно означает эта ошибка Python?