【问题标题】:implement for and if in reduce funtion在reduce函数中实现for和if
【发布时间】:2019-05-24 07:20:15
【问题描述】:

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

假设我正在传递一个对象列表以减少函数,每个对象都有一个键 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);
    }
    """
)

【问题讨论】:

    标签: python-3.x mapreduce


    【解决方案1】:
    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))
    

    【讨论】:

    • 您好,感谢您的快速回复,我的代码运行良好。
    猜你喜欢
    • 2021-07-17
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 2019-09-21
    • 2019-08-11
    • 1970-01-01
    • 2019-04-29
    相关资源
    最近更新 更多