在 reduce 函数中实现 for 和 if

implement for and if in reduce funtion

我想知道如何使用 reduce 函数从 list of object 中获取特定键值。

假设我将一个对象列表传递给 reduce 函数,每个对象都有一个键 number,值为 some integer,所以 I want a sum of all values.

示例数据类似于

result = [{'number':1},{`number`:2},{'number':3}]

所以在 reduce 中我有代码,其中 key 是结果,value[objects,..]我应该如何实现这个?

reduce = Code(
    """
    function(key,value)
    {
        return Array.sum(value);
    }
    """
)
from functools import reduce
result = [{'number':1},{"number":2},{'number':3}]
c = reduce(lambda x,y:{"number":x['number']+y['number']}, result)
print(c)

"you can also use list comprehensions"

target = sum(i['number'] for i in result)
print(dict(number=target))